Bagikan melalui


Pengecualian Bersama (Mutex)

[Fitur yang terkait dengan halaman ini, Windows Media Format 11 SDK, adalah fitur warisan. Ini telah digantikan oleh Pembaca Sumber dan Penulis Sink. Pembaca Sumber dan Penulis Sink telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan Pembaca Sumber dan Penulis Sink alih-alih Windows Media Format 11 SDK, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Setiap file ASF berisi satu atau beberapa aliran, masing-masing berisi data media digital. Dalam keadaan normal, setiap aliran dikaitkan dengan satu output. Pada pemutaran, objek pembaca memberikan sampel untuk setiap output. Jadi, sebagai default, setiap aliran dalam file ASF dikirimkan oleh pembaca pada pemutaran.

Ada situasi di mana Anda tidak ingin setiap aliran dikirimkan ke klien. Misalnya, jika Anda membuat file video dengan lima aliran audio, satu untuk masing-masing dari lima bahasa, Anda hanya ingin salah satunya dikirimkan pada satu waktu. Pengecualian bersama adalah fitur Windows Media Format SDK yang memungkinkan Anda menentukan sejumlah aliran yang saling eksklusif yang semuanya sama dengan output yang sama.

Pengecualian bersama didefinisikan dalam profil yang digunakan untuk membuat file. Anda mengonfigurasi pengecualian bersama di profil dengan menggunakan objek pengecualian bersama. Anda menambahkan aliran satu per satu ke objek pengecualian bersama, mengatur jenis, dan menyertakan objek di profil.

Windows Media Format SDK mengenali empat jenis pengecualian bersama:

  • Laju bit
  • Bahasa
  • Presentasi
  • Tidak dikenal

Pengecualian Timah berdasarkan Laju Bit

Pengecualian bersama laju bit adalah jenis pengecualian timbul khusus dan lebih sering disebut sebagai pengecualian bersama multiple bit rate (MBR). Pengecualian bersama MBR berisi sejumlah aliran yang semuanya berasal dari input yang sama, tetapi dikodekan pada laju bit yang berbeda. Saat memutar file dengan MBR, pembaca menentukan aliran terbaik untuk digunakan berdasarkan bandwidth yang tersedia.

Windows Media Format SDK mendukung MBR untuk aliran audio dan video. SDK juga mendukung jenis video MBR khusus yang disebut beberapa MBR ukuran video. Ini seperti video MBR normal kecuali bahwa aliran individual dapat memiliki ukuran bingkai yang berbeda. Misalnya, Anda mungkin memiliki beberapa streaming pada ukuran video default 320 x 240 dan beberapa lainnya dengan laju bit yang lebih tinggi dan ukuran video 640 x 480.

Pengecualian Timah berdasarkan Bahasa

Pengecualian timbul berbasis bahasa dirancang untuk digunakan dengan konten (biasanya audio) yang direkam dalam beberapa bahasa. Pengecualian timbul berbasis bahasa mencakup beberapa aliran yang berasal dari input unik. Setiap input adalah konten yang sama, tetapi dalam bahasa yang berbeda.

Agar pengecualian bersama berdasarkan bahasa berfungsi, aplikasi baca harus menyertakan logika untuk memilih bahasa yang sesuai. Jika Anda menulis aplikasi untuk memutar file ASF, dan Anda ingin mendukung file dengan pengecualian bersama berbasis bahasa, Anda harus memilih aliran yang sesuai sebelum memulai pemutaran.

Pengecualian Bersama berdasarkan Presentasi

Pengecualian bersama berbasis presentasi disediakan untuk mendukung aliran video yang berisi konten yang sama yang dikodekan dengan rasio aspek yang berbeda. Biasanya, ini digunakan saat menyediakan video dalam versi kotak surat (rasio aspek 16:9) serta diformat untuk layar televisi (rasio aspek 4:3).

Pemilihan presentasi untuk pemutaran paling sering ditentukan oleh pengguna. Jika Anda menulis aplikasi untuk memutar file ASF dan ingin mendukung file dengan pengecualian bersama berbasis presentasi, Anda harus menyajikan pengguna dengan opsi memilih jenis presentasi untuk ditampilkan.

Pengecualian Timbul Tidak Diketahui

Anda dapat membuat pengecualian bersama berdasarkan kriteria apa pun yang Anda suka. Semua jenis pengecualian timah kustom harus dibuat menggunakan jenis yang tidak diketahui.

Fitur Pengecualian Timah Tingkat Lanjut

Anda juga dapat menggunakan pengecualian bersama untuk menetapkan aliran ke grup yang saling eksklusif satu sama lain. Misalnya, Anda mungkin ingin memiliki aliran audio dalam beberapa bahasa dan menetapkan aliran video yang berbeda untuk masing-masing bahasa. Anda menggunakan pengecualian bersama untuk mengelompokkan setiap aliran audio dengan aliran video yang sesuai dan membuat semua grup saling eksklusif.

Pembaca secara otomatis memilih aliran untuk semua pengecualian bersama. Untuk semua jenis pengecualian bersama kecuali MBR dan pengecualian bersama berbasis bahasa, pembaca selalu memilih aliran default, yang merupakan aliran pertama yang ditambahkan ke objek pengecualian bersama di profil. Untuk MBR, pembaca memilih aliran yang paling sesuai dengan bandwidth yang tersedia pada saat pemutaran. Jika Anda tidak ingin menggunakan aliran default, Anda dapat mengatur pilihan streaming ke manual sebelum mulai membaca file.

Pemilihan aliran manual berlaku untuk seluruh file. Kesulitan dapat muncul ketika Anda memiliki pengecualian bersama dari berbagai jenis dalam file yang sama. Misalnya, file dapat berisi pengecualian bersama berbasis laju bit dan pengecualian timah kustom. Untuk memilih aliran selain default dalam pengecualian bersama kustom, Anda harus menggunakan pemilihan aliran manual. Namun, jika Anda menggunakan pemilihan aliran manual, pembaca tidak akan secara otomatis memilih beberapa aliran laju bit. Anda harus merencanakan kemungkinan ini dalam aplikasi Anda jika Anda berencana untuk mendukung beberapa jenis pengecualian timbal balik dalam satu file. Biasanya ini berarti membuat rutinitas pemilihan aliran Anda sendiri untuk jenis pengecualian bersama yang biasanya otomatis.

Fitur File ASF

Menggunakan Pengecualian Timah