Media3 ট্রান্সফরমার সক্রিয়ভাবে বিকাশের অধীনে রয়েছে এবং আমরা আপনার কাছ থেকে শুনতে চাই! আমরা
সমস্যা ট্র্যাকারে আপনার প্রতিক্রিয়া, বৈশিষ্ট্য অনুরোধ এবং বাগ রিপোর্ট স্বাগত জানাই। সর্বশেষ আপডেটের জন্য
ExoPlayer ব্লগ অনুসরণ করুন।
কাস্টমাইজেশন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
ট্রান্সফরমারের আচরণ নিয়ন্ত্রণ করতে, আপনি API পৃষ্ঠের বিকল্পগুলি কনফিগার করতে পারেন বা ইন্টারফেসের কাস্টম বাস্তবায়ন লিখে এবং সেগুলিকে পাস করার মাধ্যমে কার্যকারিতার অংশগুলি সম্পূর্ণরূপে প্রতিস্থাপন করতে পারেন৷ এই পৃষ্ঠাটি কিছু উদাহরণ বর্ণনা করে৷
কোডেক কনফিগারেশন নিয়ন্ত্রণ করুন
ডিফল্টরূপে, ডিভাইসের হার্ডওয়্যার এনকোডার অনুরোধকৃত আউটপুট রেজোলিউশন গ্রহণ না করলে ট্রান্সফরমার একটি সমর্থিত রেজোলিউশনে ফিরে আসবে। উদাহরণস্বরূপ, ট্রান্সফরমার আউটপুট প্রস্থ এবং উচ্চতাকে 2 বা 16 এর গুণিতক হিসাবে সারিবদ্ধ করতে পারে যেমনটি প্রায়শই হার্ডওয়্যার এনকোডারগুলির জন্য প্রয়োজন হয়। আপনি এই আচরণটি বন্ধ করতে পারেন যাতে ট্রান্সফরমার পরিবর্তে একটি ত্রুটি ছুড়ে দেয় যদি এটি প্রয়োজনীয় আউটপুট রেজোলিউশন তৈরি করতে না পারে:
কোটলিন
transformerBuilder
.setEncoderFactory(
DefaultEncoderFactory.Builder(context)
.setEnableFallback(false)
.build())
জাভা
transformerBuilder
.setEncoderFactory(
new DefaultEncoderFactory.Builder(context)
.setEnableFallback(false)
.build());
একইভাবে, DefaultEncoderFactory
setRequestedVideoEncoderSettings
বিকল্পের সাথে কাস্টম এনকোডিং সেটিংস ব্যবহার করে সমর্থন করে।
কোডেকগুলি কীভাবে সেট আপ করা হয় তার উপর সম্পূর্ণ নিয়ন্ত্রণ পেতে আপনি এনকোডার এবং ডিকোডারগুলির কারখানাগুলি সম্পূর্ণভাবে প্রতিস্থাপন করতে পারেন।
কাস্টম muxers
আপনি Transformer.setMuxerFactory
কল করে মিডিয়া কন্টেইনার লেখার জন্য একটি কাস্টম মুক্সার সেট করতে পারেন। উদাহরণস্বরূপ, আপনি যদি অ্যাপ্লিকেশন স্তরে আপনার নিজস্ব মুক্সার প্রয়োগ করেন, আপনি একটি মোড়ক লিখতে পারেন যা Muxer
ইন্টারফেস প্রয়োগ করে এবং তারপর এটিকে ট্রান্সফরমারে ইনজেক্ট করতে setMuxerFactory
ব্যবহার করে।
অন্য কিছু উল্লেখ না করা থাকলে, এই পৃষ্ঠার কন্টেন্ট Creative Commons Attribution 4.0 License-এর অধীনে এবং কোডের নমুনাগুলি Apache 2.0 License-এর অধীনে লাইসেন্স প্রাপ্ত। আরও জানতে, Google Developers সাইট নীতি দেখুন। Java হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Customization\n\nTo control Transformer's behavior, you can configure options in the API surface\nor replace pieces of functionality completely by writing custom implementations\nof interfaces and passing those in. This page describes some examples.\n\nControl codec configuration\n---------------------------\n\nBy default, Transformer will fall back to a supported resolution if the\ndevice's hardware encoder doesn't accept the requested output resolution. For\nexample, Transformer can align the output width and height to be a multiple of 2\nor 16 as is often required by hardware encoders. You can turn off this behavior\nso that Transformer instead throws an error if it can't produce the required\noutput resolution: \n\n### Kotlin\n\n```kotlin\ntransformerBuilder\n .setEncoderFactory(\n DefaultEncoderFactory.Builder(context)\n .setEnableFallback(false)\n .build())\n```\n\n### Java\n\n```java\ntransformerBuilder\n .setEncoderFactory(\n new DefaultEncoderFactory.Builder(context)\n .setEnableFallback(false)\n .build());\n```\n\n\u003cbr /\u003e\n\nSimilarly, the `DefaultEncoderFactory` also supports using custom encoding\nsettings with the `setRequestedVideoEncoderSettings` option.\n\nYou can also completely replace the factories for encoders and decoders to get\nfull control over how the codecs are set up.\n\nCustom muxers\n-------------\n\nYou can set a custom muxer for writing media containers by calling\n`Transformer.setMuxerFactory`. For example, if you implement your own muxer at\nthe application level, you can write a wrapper that implements the `Muxer`\ninterface and then use `setMuxerFactory` to inject it into Transformer."]]