Bagikan melalui


Untuk Memaksa Penyisipan Key-Frame

[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 Source Reader dan Sink Writer 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.]

Codec Windows Media Video 9 mendukung penyisipan bingkai kunci paksa. Ketika Anda meneruskan sampel ke penulis, Anda dapat menentukan bahwa sampel harus dikodekan sebagai bingkai kunci .

Untuk memaksa penyisipan frame kunci pada sampel, lakukan langkah-langkah berikut.

  1. Alokasikan buffer untuk menyimpan sampel, dan ambil pointer ke antarmukaINSSBufferyang berisi buffer dengan memanggil IWMWriter::AllocateSample.
  2. Ambil lokasi dan ukuran buffer yang dibuat di langkah 1 dengan memanggil INSSBuffer::GetBufferAndLength.
  3. Salin data sampel Anda ke lokasi buffer, pastikan sampel yang diteruskan akan pas di buffer yang dialokasikan. Bergantung pada sumber sampel Anda, Anda dapat menggunakan berbagai fungsi untuk menyalin data. Misalnya, jika Anda menyalin aliran dari file AVI, Anda dapat menggunakan fungsi AVI, AVIStreamRead.
  4. Perbarui jumlah data yang digunakan dalam buffer untuk mencerminkan ukuran sampel yang sebenarnya dengan memanggil INSSBuffer::SetLength.
  5. Dapatkan pointer ke antarmuka INSSBuffer3 dengan memanggil INSSBuffer::QueryInterface.
  6. Atur sampel sebagai bingkai kunci paksa dengan memanggil metode INSSBuffer3::SetProperty untuk mengatur properti WM_SampleExtensionGUID_OutputCleanPoint. Properti ini adalah nilai Boolean; atur ke TRUE.
  7. Teruskan antarmuka buffer ke penulis bersama dengan nomor input dan waktu sampel dengan menggunakan metodeIWMWriter::WriteSample.

IWMWriter::WriteSample

Untuk Menulis Sampel

Pengodean Kecepatan Bit Variabel (VBR)

Menulis File ASF