![是否可以分辨出声音驱动程序正在播放哪些文件 - Windows 7?](https://linux22.com/image/1471856/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%88%86%E8%BE%A8%E5%87%BA%E5%A3%B0%E9%9F%B3%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%AD%A3%E5%9C%A8%E6%92%AD%E6%94%BE%E5%93%AA%E4%BA%9B%E6%96%87%E4%BB%B6%20-%20Windows%207%EF%BC%9F.png)
某些网站上有一些音乐或音效,我真的很感兴趣,想从中获取一份副本以供自己使用。
我的第一次尝试是检查 html 代码,也许我很幸运并且音频文件在那里明确引用,但不幸的是事实并非如此。
因此,下一次尝试是在浏览器缓存存储的临时文件中寻找该文件,希望能在那里找到一个 mp3 文件。
猜猜看,只有没有扩展名的文件,其名称没有说明其内容。
也许最新的占用更多内存的文件(声音文件在内存使用方面往往更重)是一个很好的选择,但我无法确定应该使用哪个文件扩展名来播放它(也许数据以 mp3/wav/任何格式存储,假设我足够幸运地选择一个声音文件开始......)。所以我脑子里有以下想法:
以某种方式让声音驱动程序告诉我当前正在播放哪些音频文件,这样就很容易发现浏览器正在播放的文件。这可能吗?[标题问题]
让某个程序录制计算机播放的音频一段时间,然后使用 Audacity 提取我感兴趣的部分。[关于录制计算机播放的音频的程序有什么建议吗?]
如果关于如何从网站检索音频文件有任何其他建议,请随时发布。
编辑
链接在这里:http://onlinetonegenerator.com/voice-generator.html 只需在输入框中写入任何自定义的有意义的字符串,然后在单击“播放”按钮时尝试找到正在播放的文件(如果有)。
答案1
真正回答你的问题:
声音驱动程序不会“播放文件”。它不知道正在播放什么文件,也不关心。应用程序播放文件,将其解码为波形,然后将音频波形发送到声音驱动程序。
虽然您可以这样做(有时这对于游戏等即时生成声音的程序来说是必要的),但您的想法是错误的。您想要做的是使用一个程序来拦截所有 Web 请求并列出从服务器检索的所有文件,以便您可以浏览并保存它们。
目前已经有大量程序可以做到这一点 - 大多数被称为“视频下载器”,人们使用它们来拦截 Youtube 上的 Flash 视频,但它们也可以很好地处理音频文件。Sothink视频下载是我曾经使用过的一个,虽然我不能再保证它了,但它是一个起点。
答案2
下载并解压Sysinternals 句柄。
在网站上播放声音效果。
然后运行
handle.exe -a | findstr /c:": File" | findstr /c:".mp3" /c:".wav"
它将输出所有打开的.mp3 ...
文件。
答案3
我最终使用 Audacity 录制了网站播放的音频,基于这些说明。一旦我录制了音频,就可以使用 Audacity 提供的大量选项直接对其进行操作。关于标题问题,Dimitry Sokolov 的答案可能可以解决问题,尽管我没有尝试。如果您只对音频数据感兴趣,那么试图找出确切的音频文件可能有点小题大做,因为任何好的录音机程序都可以完成这项工作。如果音频是在运行时动态生成的并传输到声音驱动程序(在这种情况下没有音频文件 :D),这一点就变得更加明显。事实上,我感兴趣的网站音效实际上是基于输入字符串(语音合成器)动态生成的,所以可能根本没有音频文件。