Delphi 将系统声音(立体声混音)录制到文件中

Delphi 将系统声音(立体声混音)录制到文件中,delphi,audio,system,record,wmp,Delphi,Audio,System,Record,Wmp,我正试图从播放互联网广播流的activex WMP控件中录制声音,因为没有简单的方法,我决定录制系统声音或所谓的“你听到的”(stereomix,在许多PC中被禁用) 那么,我如何录制系统声音并将其保存为mp3、wav。。。文件,无需启用stereomix,或如何以编程方式启用它,无需用户交互 我没有音频应用的经验,所以请不要说尝试 巴斯-www.un4seen.com NewAC-symmetria.net/NewAC/ WavePlayer-www.delphiarea.com/produc


我正试图从播放互联网广播流的activex WMP控件中录制声音,因为没有简单的方法,我决定录制系统声音或所谓的“你听到的”(stereomix,在许多PC中被禁用)

那么,我如何录制系统声音并将其保存为mp3、wav。。。文件,无需启用stereomix,或如何以编程方式启用它,无需用户交互

我没有音频应用的经验,所以请不要说尝试

  • 巴斯-www.un4seen.com
  • NewAC-symmetria.net/NewAC/
  • WavePlayer-www.delphiarea.com/products/delphi-components/WavePlayer/
  • 没有给我代码示例,因为我已经试着理解如何使用,但是,如果我这样做了,我就不会在这里问你

    我是新来的,这是我的第一个问题
    [我希望我能得到好答案]

    提前感谢:

    正如我们(在问题评论中)得出的结论所示,最好是录制广播流,而不是从声卡录制:

    看看
    Indy
    Synapse
    ICS
    。(德尔福随印地开箱即用)

    这些组件中的每一个都应该有示例,说明如何从
    HTTP
    /
    TCP
    服务器读取数据

    请注意,数据可能不仅仅是普通的
    MP3
    或WMV,通常还存在某种框架,用于插入标题信息并将声音数据分成块

    有许多流媒体服务器(即,
    Shoutcast
    Icecast
    和其他)都有不同的音频数据编码方式

    您应该首先了解您的internet收音机运行的是哪种
    流媒体服务器。发送
    httpget请求时发生的第一件事通常是包含一些标识信息的响应

    你也可以只得到一个包含真实URL的播放列表文件

    附言:你可能想搜索(或问)其他问题,以便获得更多关于我提到的主题的信息


    希望这能有所帮助。

    我强烈建议不要录制立体声混音,因为从广播流中录制会降低质量,因为您可能会重新压缩该流,并录制其他所有内容(如Windows系统声音和其他正在运行的应用程序的声音)。另一种方法是找到流URL并使用TCP转储流。如果使用“立体声混音”方式,请注意并非所有声音驱动程序都支持此功能。我不知道Vista引入的新声音API是否能缓解这个问题。在这种情况下,您可以使用虚拟声卡(如
    虚拟音频电缆
    )。相关(更一般)问题:当然我有流url,我设置activex控件来播放它。那么,关于使用TCP进行转储,您是否有任何代码示例可以开始?谢谢@Jens,这并不能真正解决问题,但至少我知道从哪里开始。无论如何,再次感谢您提供的信息。已接受:]