กำหนดเอง

หากต้องการควบคุมลักษณะการทำงานของ Transformer คุณกำหนดค่าตัวเลือกในแพลตฟอร์ม API ได้ หรือแทนที่ฟังก์ชันการทำงานทั้งหมดด้วยการเขียนการใช้งานที่กำหนดเอง อินเทอร์เฟซ แล้วส่งการเชื่อมต่อเหล่านั้นเข้ามา หน้านี้จะอธิบายถึงตัวอย่างบางส่วน

ควบคุมการกำหนดค่าตัวแปลงรหัส

โดยค่าเริ่มต้น 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 ก็รองรับการใช้การเข้ารหัสที่กำหนดเองด้วย การตั้งค่าด้วยตัวเลือก setRequestedVideoEncoderSettings

หรือจะแทนที่โรงงานของโปรแกรมเปลี่ยนไฟล์และตัวถอดรหัสทั้งหมดเพื่อรับ ควบคุมวิธีตั้งค่าตัวแปลงรหัสได้อย่างสมบูรณ์

มิกเซอร์ตามสั่ง

คุณสามารถตั้งค่า Muxer ที่กำหนดเองสำหรับการเขียนคอนเทนเนอร์สื่อได้โดยเรียกใช้ Transformer.setMuxerFactory ตัวอย่างเช่น หากคุณใช้ Muxer ของคุณเองที่ ระดับแอปพลิเคชัน คุณสามารถเขียน Wrapper ที่นำ Muxer ไปใช้ จากนั้นใช้ setMuxerFactory เพื่อแทรกลงใน Transformer