Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
[Windows Media Format 11 SDK bu sayfayla ilişkilendirilmiş özellik eski bir özelliktir. Kaynak Okuyucu ve Havuz Yazıcısıtarafından değiştirildi. Kaynak Okuyucu ve Havuz Yazıcısı Windows 10 ve Windows 11 için iyileştirilmiştir. Microsoft, mümkün olduğunda yeni kodun Windows Media Format 11 SDKyerine Kaynak Okuyucu ve Veri Yazar kullanmasını kesinlikle önerir. Microsoft, mümkünse yeni API'leri kullanmak için eski API'leri kullanan mevcut kodun yeniden yazılmasını önerir.]
Ses akışları genellikle en kolay yapılandırılan akışlardır. IWMCodecInfo yöntemlerini kullanarak codec'ten bir akış yapılandırması alın, bu işlem Codec'lerden Akış Yapılandırma Bilgilerini Almabölümünde açıklandığı gibi yapılmalıdır. Çoğu durumda, alınan ayarlarda değişiklik yapılmamalıdır.
Numaralandırılmış dosyalardan seçtiğiniz codec biçimi, profille yapılan ASF dosyalarının amaçlanan kullanımına bağlıdır. IWMCodecInfo2::GetCodecFormatDesc tarafından alınan codec biçimi açıklaması, biçimin özelliklerini özetler. Uygulamanız aralarında seçim yapmak için açıklamaları görüntülemiyorsa, IWMMediaProps arabirimini almak için codec biçiminin IWMStreamConfig arabiriminde QueryInterface çağırabilirsiniz. Ardından IWMMediaProps::GetMediaTypeçağırarak WM_MEDIA_TYPE yapısını alabilirsiniz. WM_MEDIA_TYPE yapısını ve işaret ettiği WAVEFORMATEX yapısını inceleyerek codec biçiminin ayarlarını belirleyebilir ve gereksinimlerinizle karşılaştırabilirsiniz.
A/V Eşitlemesi için Ses Biçimleri Alma
Windows Media Audio codec'i ve Windows Media Audio Professional codec'i hem yalnızca ses dosyalarına hem de ses/video dosyalarına yönelik biçimleri destekler. Yalnızca ses biçimleri yalnızca ses verilerini içeren dosyalar için iyileştirilirken, ses/video biçimleri ise video akışı olan bir dosyadaki ses için iyileştirilmiştir. Bu codec bileşenleri için codec biçimlerini numaralandırırken, ses/video biçimleri yalnızca ses biçimlerinden sonra gelir. Ses/video biçimi açıklamalarının tümü "(A/V)" dizesini içerir. Saniyedeki paket sayısını denetleyerek program aracılığıyla ses/video eşitlemesi için tasarlanan biçimleri belirleyebilirsiniz. Bit hızı saniyede 32.000 bitten büyük veya buna eşitse eşitleme biçimleri saniyede 5 veya daha fazla paket içerir. Saniyede 32.000 bitten az bit hızına sahip biçimler, saniyede 3 veya daha fazla paket kullanıyorlarsa eşitlenmiş video ile kullanılabilir. Ses Biçimlerini Bulmak için konu başlığındaki kod örneği, bu denetimi yapmak için gereken kodu içerir:
if((pWave->nAvgBytesPerSec / pWave->nBlockAlign) >=
((pWave->nAvgBytesPerSec >= 4000) ? 5.0 : 3.0))
{
// Set this stream configuration as the new best match.
}
Low-Delay Ses Biçimlerini Edinme
Windows Media 9.1 codec bileşeni ve Windows Media Audio 9.1 Professional codec bileşenleri düşük gecikmeli biçimleri destekler. Bu biçimler, diğer ses biçimlerinden daha küçük bir arabellek penceresine sahiptir. Düşük gecikmeli ses, dosyaların veya akışların sık sık değiştirileceği senaryolarda performansı iyileştirmeye yöneliktir; örneğin, kullanıcı arabiriminde akış için bir dizi şarkı listeleyen ve kullanıcıların rastgele aralarında geçiş yapmasına olanak tanıyan bir uygulama.
Düşük gecikmeli biçimler yalnızca CBR modunda (tek geçişli veya iki geçişli) kullanılabilir. Düşük gecikmeli biçim açıklamalarının tümü "Düşük Gecikme" dizesini içerir. Biçimin bit hızı değerini denetleyerek biçimleri program aracılığıyla tanımlayabilirsiniz. Düşük gecikmeli biçimlere, eşdeğer normal biçimin bit hızlarından 1 kilobit daha küçük bit hızları atanır. Örneğin Windows Media Audio 9.1 codec bileşeni, bit hızı 192 kb/sn olan tek geçişli CBR biçimini destekler. Eşdeğer düşük gecikmeli biçimin bit hızı 191 kb/sn'ye sahiptir. Ayrıca, Windows Media Audio 9.1 codec bileşeni tarafından desteklenen 5 kb/sn mono biçimi dışında, düşük gecikmeli biçimler tekil bit hızı değerine sahip olan tek biçimlerdir.
Değişken Bit Hızı Sesini Yapılandırma
Windows Media ses codec'lerinden biri için değişken bit hızı (VBR) biçimine ihtiyacınız olduğunda, IWMCodecInfo3::SetCodecEnumerationSetting yönteminde numaralandırma ayarlarını yaparak bunu alabilirsiniz. g_wszVBREnabled değerini True olarak ayarlayın, ve kalite tabanlı VBR için g_wszNumPasses değerini 1'e, iki geçişli VBR içinse (kısıtlanmış veya kısıtlanmamış) 2'ye ayarlayın. Kısıtlanmış iki geçişli VBR kullanıyorsanız, IWMPropertyVault yöntemlerini VBR Akışlarını Yapılandırmabölümünde açıklandığı gibi akış için en yüksek bit hızını ve arabellek penceresini el ile ayarlamanız gerekir.
Kalite tabanlı VBR profillerinde, WAVEFORMATEX yapısının nAvgBytesPerSec üyesi düşük sıralı bayttaki kalite düzeyini (1 ile 100 arasında) içerir ve üç yüksek sıralı bayt 0x7fffff olarak ayarlanır. Bu değeri el ile değiştirerek kalite ayarını değiştirmeyi denemeyin; codec'ten alınırken biçimini kullanmanız gerekir. Farklı bir kalite değeri kullanmak için, gereksinimlerinizi karşılayan bir biçim bulana kadar biçimleri listelemeniz gerekir. Ayrıca, nAvgBytesPerSec ASF dosyasında korunmaz; okuyucu nesnesiyle açılmış bir dosyanın WAVEFORMATEX yapısını elde ettiğinizde, nAvgBytesPerSec, saniye başına ortalama bayt sayısını temsil eden yaklaşık bir değer içerir.
Not
Ses akışlarını yapılandırırken, hiçbir zaman dosyadaki video akışlarının değerinden daha büyük bir ses arabelleği penceresi değeriniz olmamalıdır. Normalde bu bir sorun değildir, ses arabelleği pencere değerleri 1,5 ile 3 saniye, video değerleri ise 3 ile 5 saniye arasında olmalıdır. Ses arabelleği penceresi bir video arabelleği penceresinden büyükse, dosya eşitlemenin biraz dışında akışlarla yürütülecektir.
İlgili konular
-
Tüm Akışlarda Ortak Yapılandırması