Aracılığıyla paylaş


WM ASF Yazıcı Filtresi (DirectShow)

[Bu sayfayla ilişkilendirilmiş DirectShowözelliği, geçmişten gelen bir özelliktir. Yerine MediaPlayer, IMFMediaEngineve Media Foundation 'de Ses/Video Yakalamaalmıştır. Bu özellikler Windows 10 ve Windows 11 için iyileştirilmiştir. Microsoft, mümkün olduğunda, yeni kodun MediaPlayer, IMFMediaEngine ve Audio/Video Capture in Media Foundation kullanmasını, DirectShowyerine kuvvetle tavsiye eder. Microsoft, mümkünse yeni API'leri kullanmak için eski API'leri kullanan mevcut kodun yeniden yazılmasını önerir.]

WM ASF Yazıcı, Windows Media™ Biçim SDK'sı ile sağlanan yazıcı nesnesi için bir sarmalayıcı filtresidir. Filtre, değişken sayıda giriş akışı kabul eder ve bir Gelişmiş Sistemler Biçimi (ASF) dosyası oluşturur. Filtre tüm sıkıştırmayı ve çoğullamayı işler (ancak sıkıştırma mekanizması atlanabilir). WM ASF Yazıcı'yı dijital video (DV) yakalama, ses yeniden sıkıştırma ve ağ akışı için Audio-Video Interleaved (AVI) veya MPEG multimedya dosyalarını dönüştürme gibi çeşitli senaryolarda kullanabilirsiniz. Bu filtre, Microsoft DirectShow'da Microsoft® Windows Media™ Audio ve Windows Media Video dosyaları oluşturmanın tek yolunu sağlar.

Daha fazla bilgi için bkz. DirectShow 'da ASF Dosyaları Oluşturma.

Etiket Değer
Filtre arabirimleri IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IConfigAsfWriter2, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPagesBuna ek olarak, filtre aşağıdaki Windows Media Format SDK arabirimlerini kullanıma sunar: IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2
Giriş pini medya türleri ASF profiline bağlıdır. AsF profiliyle eşleşiyorsa filtre sıkıştırılmış türleri kabul etse de, genellikle sıkıştırılmamış ses ve video türleri.
Giriş pini arabirimleri IAMStreamConfig, IAMWMBufferPass, IMemInputPin, IPin, IServiceProviderBuna ek olarak, pin aşağıdaki Windows Media Format SDK arabirimini kullanıma sunar: IWMStreamConfig2 ( IServiceProvider aracılığıyla)
Çıkış pini medya türleri Uygulanamaz.
Çıkış pin arabirimleri Uygulanamaz.
CLSID'ye filtre uygulama CLSID_WMAsfWriter
Özellik sayfası CLSID CLSID_AsfWriterProperties
Yürütüle -bilir Qasf.dll
Liyakat MERIT_DO_NOT_USE
Filtre Kategorisi Belirtilmemiş

 

Açıklamalar

Filtre için Windows Media Format Software Development Kit (SDK) ve temel bağımlılıkları gerekir.

ASF akışının profil veya profil tanımlayıcısı bağlı olarak filtredeki giriş raptiyelerinin sayısı.

Giriş pinleri , IAMStreamConfig arabiriminden bir yöntemi destekler: IAMStreamConfig::GetFormat. Diğer tüm yöntemler E_NOTIMPL döndürür. Pinin geçerli ASF profili tarafından tanımlanan hedef sıkıştırma biçimini sorgulamak için GetFormat yöntemini çağırın. Profili ayarlamak için IConfigAsfWriter arabirimini kullanın.

Windows Media Biçim SDK'sında tanımlanan IWMWriterAdvanced2 arabirimine bir işaretçi almak için filtrenin IServiceProvider arabirimini kullanabilirsiniz. IWMWriterAdvanced2 arabirimini kullanarak kaynak videonun ara görüntüye alınıp alınmaması için videonun görüntüden kaldırılabilirliğini denetleyebilirsiniz. Interlacing modunu ayarlamak için IWMWriterAdvanced2::SetInputSetting öğesini çağırın. dwInputNum parametresi için, IEnumPins arabirimi tarafından numaralandırılan video giriş pininin sıfır tabanlı dizinini kullanın.

Aşağıdaki örnekte bu arabirimin nasıl sorgu yapılacağı gösterilmektedir:

// 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();
    }
}

Uygulamalar , IWMWriterAdvanced2 arabiriminin devraldığı IWMWriterAdvanceded yöntemlerinden hiçbirini kullanmamalıdır. Bu yöntemleri çağırmak, filtrenin çalışmasını engelleyebilir.

Bu filtre tarafından desteklenen tek dosya yazma modu_FILE_OVERWRITE. Bkz . IFileSinkFilter2::GetMode.

Windows Media Format SDK çalışma zamanı WM ASF Yazıcı filtresine WMT_STATUS ileti gönderdiğinde, filtre bunları EC_WMT_EVENT olaylar olarak iletir.

DirectShow Filtreleri