小编Bla*_*ake的帖子

如何获得Windows音频播放的当前采样率?

我正在使用Windows waveOut API(又名MME或多媒体扩展)mmsystem.h。某些程序会更改音频播放采样率(例如,从44.1kHz更改为48kHz),这对于我的程序检测当前播放采样率非常有用,因此它可以警告用户Windows将重新采样程序的输出。

根据此文档http://msdn.microsoft.com/zh-cn/library/aa909811.aspx,waveOutGetPlaybackRate返回设备当前正在执行的重采样百分比(例如,设备以44.1播放,程序以44.1播放音频因此它将返回1.0)。我很好奇是否有一种方法可以获取设备的绝对采样率,而不是相对的。在Windows Vista / 7/8中,您可以通过以下方式手动找到该值:控制面板>声音>播放,右键单击默认播放设备,然后选择属性,然后选择高级选项卡。因此,我试图通过查询操作系统来获取此“默认格式”值。

有问题的程序是用Pascal编写的,但是,我通常使用C / C ++引用。

c++ windows pascal waveout sample-rate

3
推荐指数
1
解决办法
2596
查看次数

标签 统计

c++ ×1

pascal ×1

sample-rate ×1

waveout ×1

windows ×1