Bagikan melalui


Filter Penulis ASF WM (DirectShow)

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

WM ASF Writer adalah filter pembungkus untuk objek penulis yang disediakan dengan Windows Media™ Format SDK. Filter menerima jumlah variabel aliran input dan membuat file Advanced Systems Format (ASF). Filter menangani semua kompresi dan multiplexing (meskipun mekanisme kompresi dapat dilewati). Anda dapat menggunakan WM ASF Writer dalam berbagai skenario termasuk pengambilan video digital (DV), rekompresi audio, dan konversi file multimedia Audio-Video Interleaved (AVI) atau MPEG untuk streaming jaringan. Filter ini menyediakan satu-satunya cara untuk membuat file Microsoft® Windows Media™ Audio dan Windows Media Video di Microsoft DirectShow.

Untuk informasi selengkapnya, lihat Membuat File ASF di DirectShow.

Label Nilai
Filter antarmuka IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IConfigAsfWriter2, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPagesSelain itu, filter mengekspos antarmuka Windows Media Format SDK berikut: IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2
Jenis media pin input Tergantung pada profil ASF. Biasanya jenis audio dan video yang tidak dikompresi, meskipun filter akan menerima jenis terkompresi jika cocok dengan profil ASF.
Antarmuka pin input IAMStreamConfig, IAMWMBufferPass, IMemInputPin, IPin, IServiceProviderSelain itu, pin mengekspos antarmuka Windows Media Format SDK berikut: IWMStreamConfig2 (melalui IServiceProvider)
Jenis media pin output Tidak berlaku.
Antarmuka pin output Tidak berlaku.
Filter CLSID CLSID_WMAsfWriter
CLSID halaman properti CLSID_AsfWriterProperties
Eksekusi Qasf.dll
Merit MERIT_DO_NOT_USE
Kategori Filter Tidak ditentukan

 

Keterangan

Filter memerlukan Kit Pengembangan Perangkat Lunak (SDK) Windows Media Format dan dependensi yang mendasarnya.

Jumlah pin input pada filter tergantung pada profil atau pengidentifikasi profil aliran ASF.

Pin input mendukung satu metode dari antarmuka IAMStreamConfig: IAMStreamConfig::GetFormat. Semua metode lain mengembalikan E_NOTIMPL. Panggil metode GetFormat untuk mengkueri format kompresi tujuan pin, yang ditentukan oleh profil ASF saat ini. Gunakan antarmuka IConfigAsfWriter untuk mengatur profil.

Anda dapat menggunakan antarmuka IServiceProvider filter untuk mendapatkan penunjuk ke antarmuka IWMWriterAdvanced2, yang ditentukan dalam Windows Media Format SDK. Anda dapat menggunakan antarmuka IWMWriterAdvanced2 untuk mengontrol deinterlacing video saat video sumber terjalin. Untuk mengatur mode deinterlacing, panggil IWMWriterAdvanced2::SetInputSetting. Untuk parameter dwInputNum, gunakan indeks berbasis nol dari pin input video, seperti yang dijumlahkan oleh antarmuka IEnumPins.

Contoh berikut menunjukkan cara mengkueri antarmuka ini:

// Assume that pAsfWriter is a valid IBaseFilter pointer.
IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;

hr = pAsfWriter->QueryInterface(
    IID_IServiceProvider, 
    (void**)&pProvider
    );
if (SUCCEEDED(hr))
{
    hr = pProvider->QueryService(
        IID_IWMWriterAdvanced2,
        IID_IWMWriterAdvanced2, 
        (void**)&pWMWA2
        );
    pProvider->Release();
    if (SUCCEEDED(hr))
    {
        // Use pWMWA2. (Not shown.)
        pWMWA2->Release();
    }
}

Aplikasi tidak boleh menggunakan salah satu metode IWMWriterAdvanced yang diwarisi antarmuka IWMWriterAdvanced2 . Memanggil metode ini dapat mengganggu operasi filter.

Satu-satunya mode penulisan file yang didukung oleh filter ini adalah AM_FILE_OVERWRITE. Lihat IFileSinkFilter2::GetMode.

Ketika runtime Windows Media Format SDK mengirim pesan WMT_STATUS ke filter Penulis WM ASF, filter meneruskannya sebagai peristiwa EC_WMT_EVENT.

Filter DirectShow