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.
Bu örnek uygulama, ses verilerini kullanıcı tarafından belirtilen bir çıkış cihazına işlemek için Çekirdek Ses API'lerini kullanır. Bu örnek, özel kullanım modunda bir işleme istemcisi için zamanlayıcı temelli arabelleğe alma işlemini gösterir. Özel modlu bir akış için istemci uç nokta arabelleğini ses cihazıyla paylaşır.
Bu konu aşağıdaki bölümleri içerir.
- Açıklama
- Gereksinimleri
- Örnek İndirme
- Örnek Oluşturma
- Örnek Dosyaları Görüntüleme
- İlgili konular
Açıklama
Bu örnekte aşağıdaki özellikler gösterilmektedir.
- multimedya cihaz numaralandırması ve seçimi için MMDevice API .
- Akış yönetimi işlemleri için WASAPI.
Gereksinim -leri
| Ürün | Sürüm |
|---|---|
| Windows SDK | Windows 7 |
| Visual Studio | 2008 |
Örneği İndirme
Bu örnek aşağıdaki konumlarda kullanılabilir.
| Yer | Yol/URL |
|---|---|
| Windows SDK | \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\RenderExclusiveTimerDriven\... |
Örneği Oluşturma
RenderExclusiveTimerDriven örneğini oluşturmak için aşağıdaki adımları kullanın:
- Windows SDK için CMD kabuğunu açın ve RenderExclusiveTimerDriven örnek dizinine geçin.
- Visual Studio penceresinde WASAPIRenderExclusiveTimerDriven projesini açmak için RenderExclusiveTimerDriven dizininde
start WASAPIRenderExclusiveTimerDriven.slnkomutunu çalıştırın. - Pencerenin içinden Hata Ayıklama veya Sürüm çözümü yapılandırmasını seçin, menü çubuğundan Derleme menüsünü seçin ve Derleme seçeneğini belirleyin. VISUAL Studio'yu SDK için CMD kabuğundan açmazsanız, Visual Studio'nın SDK derleme ortamına erişimi olmaz. Bu durumda, wasapiRenderExclusiveTimerDriven.vcproj proje dosyasında kullanılan MSSdk ortam değişkenini açıkça ayarlamadığınız sürece örnek derlenmez.
Örnek Dosyaları Görüntüleme
Tanıtım uygulamasını başarıyla oluşturursanız, WASAPIRenderExclusiveTimerDriven.exeyürütülebilir bir dosya oluşturulur. Çalıştırmak için, komut penceresine WASAPIRenderExclusiveTimerDriven yazın ve ardından gerekli veya isteğe bağlı bağımsız değişkenler yazın. Aşağıdaki örnek, varsayılan konsol cihazında kayıttan yürütme süresini belirterek örneğin nasıl çalıştırılacağını gösterir.
WASAPIRenderExclusiveTimerDriven.exe -d 20 -console
Aşağıdaki tabloda bağımsız değişkenler gösterilmektedir.
| Tartışma | Açıklama |
|---|---|
| -? | Yardım gösterir. |
| -h | Yardım gösterir. |
| -f | Hz.'de sinüs dalga frekansı. |
| -l | Milisaniye cinsinden ses işleme gecikme süresi. |
| -d | Saniye cinsinden sinüs dalgası süresi. |
| -m | MMCSS kullanımını devre dışı bırakır. |
| -konsol | Varsayılan konsol cihazını kullanın. |
| -Iletişim | Varsayılan iletişim cihazını kullanın. |
| -multimedya | Varsayılan multimedya cihazını kullanın. |
| -bitiş noktası | Anahtar değerinde belirtilen uç nokta tanımlayıcısını kullanın. |
Uygulama bağımsız değişkenler olmadan çalıştırılırsa, kullanılabilir cihazları numaralandırır ve kullanıcıdan işleme oturumu için bir cihaz seçmesini ister. Kullanıcı bir cihaz belirtdikten sonra uygulama 440 Hz'de 10 saniye boyunca sinüs dalgasını işler. Bu değerler, -f ve -d anahtar değerleri belirtilerek değiştirilebilir.
RenderExclusiveTimerDriven zamanlayıcı temelli arabelleğe alma işlemini gösterir. Bu modda istemcinin bir süre beklemesi gerekir (-d anahtar değeri tarafından belirtilen gecikme süresinin yarısı milisaniye cinsinden). İstemci, işlem süresinin yarısında uyandığında, altyapıdan sonraki örnek kümesini çeker. Her işlem arabelleğe alma döngüsünden geçmeden önce, verilerin arabellekte taşmaması için istemcinin işlenmek üzere veri miktarını bulması gerekir.
Belirtilen cihazda çalınacak ses verileri, olay temelli arabelleğe alma etkinleştirilerek işlenebilir. Bu mod, RenderExclusiveTimerDriven örneğinde gösterilmiştir.
Akışı işleme hakkında daha fazla bilgi için bkz. Akışİşleme.
İlgili konular
-
Temel Ses API'lerini kullanan SDK Örnekleri