2012-01-16 28 views
18

'da bir iletişim programı olarak nasıl değerlendirebilirim Konuşma kitaplığını kullanan bir program yapıyorum ve hanımefendi konuşurken diğer tüm seslerin kısılmasını veya azaltılmasını istiyorum.Uygulamamı, Windows

Diğer uygulamaları el ile sessize almanın bir yolunu aradım ancak Windows'da iletişim penceresindeki (ses seçeneklerinin içinde), pencerenin bunu benim için yönetebileceğini belirten bir seçenek gördüm. Gibi bu resimde:

enter image description here

başvurum (Skype gibi) bir iletişim uygulaması olarak düşünülmesi için Yani temelde, ne alır?

+1

http://msdn.microsoft.com/en-us/library/windows/desktop/dd940522(v=vs.85).aspx alakalı olabilir. Bir cevap yazabilmek için yeterli ayrıntıya bakmadım. – Random832

+0

Belki de [this] (http://msdn.microsoft.com/en-us/library/windows/desktop/dd316773%28v=vs.85%29.aspx) aradığınız şeydir. Kendimi hiç kullanmadım, bu yüzden size programın nasıl bir uygulama olarak kaydedileceğine dair uygun bir yol veremem. – dowhilefor

cevap

5

İletişim uygulamalarının, IAudioVolumeDuckNotification arabirimiyle ilgili bir şey uyguladığına inanıyorum. Sağlanan C++ örneği, WM_VOLUME_DUCK ve WM_VOLUME_UNDUCK windows mesajlarını da içerir, bu da yeterli olabilir (ancak Google’da veya belgede görünmüyor).

GÜNCELLEME

Codeplex üzerinde .NET Core Audio API project bir .NET sarmalayıcı sağlar görünmektedir.

UPDATE

IAudioVolumeDuckNotification bir örneği C++ olarak uygulanması ducked durumunu bildiren bir örnek MSDN DuckingMediaPlayer örnek uygulamada bulunabilir. Aslında çalışır (denedim). PInvoke'ing'in birkaç yöntemi ve arabirim için .NET sargısının birleşimi, sizi yolda bulmanız için yeterli olmalıdır.

İlgili konular