Google มุ่งมั่นที่จะพัฒนาความเท่าเทียมทางเชื้อชาติสำหรับชุมชนคนผิวดำ มาดูกันว่า
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

สื่อ

ไอคอน Android Media HAL

Android รวมถึง Stagefright เอ็นจิ้นการเล่นสื่อในระดับดั้งเดิมที่มีตัวแปลงสัญญาณซอฟต์แวร์ในตัวสำหรับรูปแบบสื่อยอดนิยม

คุณสมบัติการเล่นเสียงและวิดีโอบนเวทีรวมถึงการผสมผสานกับตัวแปลงสัญญาณ OpenMAX การจัดการเซสชันการเรนเดอร์เวลาที่ตรงกันการควบคุมการขนส่งและ DRM

Stagefright นอกจากนี้ยังสนับสนุนการทำงานร่วมกับตัวแปลงสัญญาณฮาร์ดแวร์ที่กำหนดเองที่คุณให้ การตั้งค่าเส้นทางฮาร์ดแวร์เพื่อเข้ารหัสและถอดรหัสสื่อคุณต้องใช้ตัวแปลงสัญญาณฮาร์ดแวร์ที่ใช้เป็น OpenMax อิลลินอยส์ (บูรณาการ Layer) ส่วนประกอบ

หมายเหตุ: การปรับปรุง Stagefright สามารถเกิดขึ้นได้ผ่าน Android ปรับปรุงการรักษาความปลอดภัยรายเดือน กระบวนการและการเป็นส่วนหนึ่งของการเปิดตัวระบบปฏิบัติการ Android

สถาปัตยกรรม

แอปพลิเคชั่นสื่อโต้ตอบกับเฟรมเวิร์กมัลติมีเดียเนทีฟ Android ตามสถาปัตยกรรมต่อไปนี้

สถาปัตยกรรมสื่อ Android

สถาปัตยกรรมรูปที่ 1 สื่อ

Application Framework
ในระดับกรอบใบสมัครเป็นรหัสโปรแกรมที่ใช้ android.media API เพื่อโต้ตอบกับฮาร์ดแวร์มัลติมีเดีย
Binder IPC
พร็อกซี Binder IPC อำนวยความสะดวกในการสื่อสารผ่านขอบเขตกระบวนการ พวกเขาจะอยู่ใน frameworks/av/media/libmedia ไดเรกทอรีและเริ่มต้นด้วยตัวอักษร "I"
พื้นเมืองมัลติมีเดียกรอบ
ในระดับพื้นฐาน Android มีกรอบมัลติมีเดียที่ใช้กลไก Stagefright สำหรับการบันทึกและเล่นเสียงและวิดีโอ Stagefright มาพร้อมกับรายการเริ่มต้นของตัวแปลงสัญญาณซอฟต์แวร์ที่สนับสนุนและคุณสามารถใช้ตัวแปลงสัญญาณฮาร์ดแวร์ของคุณเองโดยใช้มาตรฐานเลเยอร์การรวม OpenMax สำหรับรายละเอียดการดำเนินการเพิ่มเติมโปรดดูที่ MediaPlayer และ Stagefright ส่วนประกอบอยู่ใน frameworks/av/media
บูรณาการ OpenMAX Layer (IL)
OpenMAX IL ให้เป็นวิธีที่เป็นมาตรฐานสำหรับ Stagefright ที่จะรับรู้และมัลติมีเดียฮาร์ดแวร์ที่ใช้การใช้งานที่กำหนดเองตัวแปลงสัญญาณที่เรียกว่าส่วนประกอบ คุณจะต้องให้ปลั๊กอิน OpenMAX ในรูปแบบของห้องสมุดสาธารณะที่มีชื่อ libstagefrighthw.so ปลั๊กอินนี้จะเชื่อมโยงกับ Stagefright กำหนดเองของคุณตัวแปลงสัญญาณส่วนประกอบซึ่งจะต้องดำเนินการตามมาตรฐานองค์ประกอบ OpenMAX IL

การใช้ตัวแปลงสัญญาณที่กำหนดเอง

Stagefright มาพร้อมกับในตัวแปลงสัญญาณซอฟต์แวร์สำหรับรูปแบบสื่อทั่วไป แต่คุณยังสามารถเพิ่มตัวแปลงสัญญาณฮาร์ดแวร์ของคุณเองเป็นส่วนประกอบ OpenMAX การทำเช่นนี้คุณต้องสร้างส่วนประกอบ OMX และปลั๊กอิน OMX ที่ตะขอกันตัวแปลงสัญญาณที่กำหนดเองของคุณกับกรอบ Stagefright สำหรับส่วนประกอบตัวอย่างดู hardware/ti/omap4xxx/domx/ ; สำหรับปลั๊กอินตัวอย่างสำหรับ Galaxy Nexus โปรดดู hardware/ti/omap4xx/libstagefrighthw

หากต้องการเพิ่มตัวแปลงสัญญาณของคุณเอง:

  1. สร้างส่วนประกอบของคุณตามมาตรฐานองค์ประกอบ OpenMAX IL อินเตอร์เฟซที่องค์ประกอบที่ตั้งอยู่ใน frameworks/native/include/media/OpenMAX/OMX_Component.h ไฟล์ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับข้อกำหนด OpenMAX IL โปรดดู เว็บไซต์ OpenMAX
  2. สร้างปลั๊กอิน OpenMAX ที่เชื่อมโยงอุปกรณ์ของคุณด้วยบริการ Stagefright สำหรับการเชื่อมต่อในการสร้างปลั๊กอินดู frameworks/native/include/media/hardware/OMXPluginBase.h และ HardwareAPI.h ไฟล์ส่วนหัว
  3. สร้างปลั๊กอินของคุณเป็น libstagefrighthw.so แชร์ด้วยชื่อ libstagefrighthw.so ใน Makefile ผลิตภัณฑ์ของคุณ ตัวอย่างเช่น:
    LOCAL_MODULE := libstagefrighthw
    

    ใน Makefile ของอุปกรณ์ให้แน่ใจว่าคุณประกาศโมดูลเป็นแพ็กเกจผลิตภัณฑ์:

    PRODUCT_PACKAGES += \
      libstagefrighthw \
      ...
    

เผยให้เห็นตัวแปลงสัญญาณกรอบ

บริการ Stagefright แยกวิเคราะห์ system/etc/media_codecs.xml และ system/etc/media_profiles.xml ที่จะเปิดเผยตัวแปลงสัญญาณที่ได้รับการสนับสนุนและโปรไฟล์บนอุปกรณ์เพื่อนักพัฒนาแอปผ่านทาง android.media.MediaCodecList และ android.media.CamcorderProfile ชั้นเรียน คุณต้องสร้างไฟล์ทั้งใน device/<company>/<device>/ ไดเรกทอรีและคัดลอกนี้ไปที่ภาพของระบบ system/etc ไดเรกทอรีในอุปกรณ์ของคุณ Makefile ตัวอย่างเช่น:

PRODUCT_COPY_FILES += \
  device/samsung/tuna/media_profiles.xml:system/etc/media_profiles.xml \
  device/samsung/tuna/media_codecs.xml:system/etc/media_codecs.xml \

สำหรับตัวอย่างที่สมบูรณ์โปรดดู device/samsung/tuna/media_codecs.xml และ device/samsung/tuna/media_profiles.xml

หมายเหตุ: ในฐานะของ Android 4.1 ที่ <Quirk> องค์ประกอบสำหรับตัวแปลงสัญญาณสื่อไม่สนับสนุน