पसंद के मुताबिक बनाएं

Transformer के व्यवहार को कंट्रोल करने के लिए, एपीआई सरफेस में विकल्पों को कॉन्फ़िगर किया जा सकता है. इसके अलावा, इंटरफ़ेस के कस्टम इंप्लीमेंटेशन लिखकर और उन्हें पास करके, फ़ंक्शन के कुछ हिस्सों को पूरी तरह से बदला जा सकता है. इस पेज पर कुछ उदाहरण दिए गए हैं.

कोडेक कॉन्फ़िगरेशन को कंट्रोल करना

अगर डिवाइस का हार्डवेयर एन्कोडर, अनुरोध किए गए आउटपुट रिज़ॉल्यूशन को स्वीकार नहीं करता है, तो Transformer डिफ़ॉल्ट रूप से उस रिज़ॉल्यूशन पर वापस आ जाएगा जो काम करता है. उदाहरण के लिए, ट्रांसफ़ॉर्मर आउटपुट की चौड़ाई और ऊंचाई को 2 या 16 के मल्टीपल के तौर पर अलाइन कर सकता है. ऐसा अक्सर हार्डवेयर एन्कोडर के लिए ज़रूरी होता है. इस सुविधा को बंद किया जा सकता है, ताकि Transformer ज़रूरी आउटपुट रिज़ॉल्यूशन जनरेट न कर पाने पर गड़बड़ी का मैसेज दिखाए:

Kotlin

transformerBuilder.setEncoderFactory(
  DefaultEncoderFactory.Builder(context).setEnableFallback(false).build()
)

Java

transformerBuilder.setEncoderFactory(
    new DefaultEncoderFactory.Builder(context).setEnableFallback(false).build());

इसी तरह, DefaultEncoderFactory विकल्प के साथ कस्टम एन्कोडिंग सेटिंग का इस्तेमाल करने की सुविधा भी DefaultEncoderFactory में उपलब्ध है.setRequestedVideoEncoderSettings

कोडेक को सेट अप करने के तरीके पर पूरा कंट्रोल पाने के लिए, एनकोडर और डिकोडर के फ़ैक्ट्री फ़ंक्शन को पूरी तरह से बदला जा सकता है.

कस्टम मक्सर

Transformer.setMuxerFactory को कॉल करके, मीडिया कंटेनर लिखने के लिए कस्टम मक्सर सेट किया जा सकता है. उदाहरण के लिए, अगर आपने ऐप्लिकेशन लेवल पर अपना खुद का मक्सर लागू किया है, तो Muxer इंटरफ़ेस लागू करने वाला रैपर लिखा जा सकता है. इसके बाद, इसे Transformer में इंजेक्ट करने के लिए setMuxerFactory का इस्तेमाल किया जा सकता है.