当前位置:  开发笔记 > 开发工具 > 正文

如何捕获正在播放的音频?

如何解决《如何捕获正在播放的音频?》经验,为你挑选了1个好方法。

有没有人知道如何以编程方式捕获正在播放的声音(即,来自声卡的所有内容,而不是麦克风等输入设备).



1> Stu Mackella..:

假设您在谈论Windows,基本上有三种方法可以做到这一点.

第一种是打开音频设备的主输出作为录制源.这只有在驾驶员支持它时才有可能,尽管大多数人都这样做了.虚拟设备的通用名称是"您听到的内容"或"波出".您需要使用合适的API(请参阅MSDN中的WaveIn或DirectSound)进行捕获.

第二种方法是编写一个过滤器驱动程序,它可以在音频流到达物理设备之前拦截它.同样,这种技术仅适用于具有合适驱动程序拓扑的设备,而且当然不适合胆小的人.

这意味着这些选项都不能保证在具有任意硬件的PC上工作.

最后一种方法是使用虚拟音频设备,例如虚拟音频电缆.如果此设备在Windows中设置为defualt播放设备,那么所有表现良好的应用程序都将通过它播放.然后,您可以从同一设备录制以捕获总和输出.只要您可以控制要记录的应用程序使用的设备,该选项将始终有效.

所有这些技术都有其优点和缺点 - 由您决定哪种技术最适合您的需求.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有