我的设备有 2 个外部扬声器。我如何分别测试它们?
一种功能仅在左侧播放声音,一种功能仅在右侧播放声音。
谷歌搜索没有成功。也许我使用了错误的术语。
也许使用 WIN32 API 设置余额?
如果您谈论的是立体声扬声器系统设置中的 2 个扬声器,那么您的解决方案很简单。
创建仅在左声道播放的声音,然后播放它。然后,创建一个仅在右声道播放的声音,然后播放它。
您可以使用 Audacity 创建声音。
至于.NET API,你可以试试你的运气http://windowsmedianet.sourceforge.net/ http://windowsmedianet.sourceforge.net/
你可能需要的是http://msdn.microsoft.com/en-us/library/ms712636(VS.85).aspx http://msdn.microsoft.com/en-us/library/ms712636(VS.85).aspx,因为他们把它们包装得很整齐。
EDIT:
顺便说一句,您可以使用waveOutOpen打开同一设备两次,一次播放左侧声音文件,然后在两个单独的waveOutOpen设备句柄上独立播放右侧声音文件,这两个设备句柄都指向同一物理设备。根据声音类型,声音将在您选择的扬声器上按预期发出。
此外,如果您想以编程方式创建声音,只有 LEFT 通道意味着音频文件中的每个其他 PCM 样本都应该为 0。
我不建议使用平衡,因为混音器 API 很难理解,并且您会意外地为两个播放的样本设置 API。
更多信息:
您可以使用http://msdn.microsoft.com/en-us/library/system.media.soundplayer(VS.80).aspx http://msdn.microsoft.com/en-us/library/system.media.soundplayer(VS.80).aspx播放 WAV 文件。如果您没有 WAV 文件,但想播放其中的内容MemoryStream
,找到一种方法在音频样本数据的前面插入某种形式的 WAV 标头。您不会是第一个尝试的人:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)