Lavabo Yazıcısını Kullanma

Genel bakış

Dosya Kapsayıcı Türleri

"Sink writer" birkaç dosya kapsayıcı türü için yerleşik desteğe sahiptir. Tam liste için bkz. MF_TRANSCODE_CONTAINERTYPE. özel birmedya havuzu yazarak ek kapsayıcı türlerini destekleyebilirsiniz. Yeni bir veri taşıma yazıcısı örneği oluşturduğunuzda dosya kapsayıcısı belirtilir.

Akış Biçimleri

Her akış için uygulamanın aşağıdakileri belirtmesi gerekir.

  • giriş biçimi, uygulamanın havuz yazıcısına gönderdiği biçimdir.
  • çıkış biçimi dosyaya yazılacak biçimdir.

Giriş ve çıkış biçimleri sıkıştırılmış veya sıkıştırılmamış olabilir. Havuz yazıcı aşağıdaki birleşimleri destekler:

  • Sıkıştırılmamış giriş ile sıkıştırılmış çıkış. Bu tipik bir durumdur ve kodlama veya kod dönüştürme senaryoları için kullanılır. Giriş türünü kabul eden ve çıkış türüne kodlayan bir Microsoft Media Foundation kodlayıcı kullanılabilir olmalıdır.
  • Aynı çıktıya sahip sıkıştırılmış giriş. Bu bileşimi kullanarak bir dosyayı kodlamadan yeniden yedekleyin.
  • Aynı veri çıkışına sahip sıkıştırılmamış veri girişi. Dosya kapsayıcısına sıkıştırılmamış ses veya video yazmak için bu bileşimi kullanın.

Çıkış yazıcısı, bu işlevler kodlayıcı tarafından sağlanmadığı sürece video yeniden boyutlandırmayı, kare hızı dönüşümünü veya ses yeniden örneklemeyi desteklemez. Aksi takdirde, uygulama, giriş verilerini dönüştürmek için Dijital Sinyal İşlemcileri kullanabilir.

Havuz Yazıcısı Oluşturma

Sink writer'ı oluşturan iki işlev vardır.

Yerleşik medya havuzlarından birini kullanıyorsanız, çağıranın ortam havuzu yapılandırması gerekmediğinden MFCreateSinkWriterFromURLişlevitercih edilir.

MFCreateSinkWriterFromURL yöntemi, dosya kapsayıcısının türünü belirtmek için çeşitli seçenekler sağlar. En basit durumda işlev, url'deki dosya adı uzantısını kullanarak dosya kapsayıcısını seçer. Ayrıntılar için işlev başvuru sayfasına bakın.

Örneğin, aşağıdaki kod URL için "output.wmv" dosya adını belirtir. Dosya adı uzantısına bağlı olarak, sink yazıcı, bir Gelişmiş Sistemler Biçimi (ASF) dosyası oluşturmak için ASF Media Sink'i yükler.

    HRESULT hr = MFCreateSinkWriterFromURL(L"output.wmv", NULL, NULL, &pSinkWriter);

MFCreateSinkWriterFromMediaSinkdurumunda, dosya türü medya havuzu tarafından belirlenir.

havuz yazıcı