在 Windows 7/8/Store C++ 中播放内存中的压缩音频

Posted

技术标签:

【中文标题】在 Windows 7/8/Store C++ 中播放内存中的压缩音频【英文标题】:Play compressed audio from memory in Windows 7/8/Store C++ 【发布时间】:2015-01-21 14:45:43 【问题描述】:

Windows 在这方面有这么多的 API,这太荒谬了。据说 MediaFoundation 是执行此操作的方法,但我在 MSDN 文档中看到了很多“已弃用”,并且它们提供的示例仅用于从 URL 播放音乐。我在内存中有一个压缩的音频文件(mp3、m4a 等)。现在我正在使用他们的 CPlayer 示例。 (https://msdn.microsoft.com/en-us/library/windows/desktop/bb970516(v=vs.85).aspx)。

有没有办法让 MediaFoundation 从内存中加载源?还是我必须在单独的线程中解压并输入 XAudio2?

【问题讨论】:

【参考方案1】:

是的,借助 IMFMediaSource 接口,Media Foundation 可以做到这一点。 MSDN上有一篇关于这个话题的文章:Writing a Custom Media Source

问候,

【讨论】:

以上是关于在 Windows 7/8/Store C++ 中播放内存中的压缩音频的主要内容,如果未能解决你的问题,请参考以下文章

在 windows 中,如何使用 c++ 检查端口是不是免费

在 C++ (Windows) 中选择录制设备

在 C++ 和 Windows 中使用 XmlRpc

在 windows 中检查 c++ 版本

使用 C++ 在 Windows 中执行“运行”命令?

在 Windows 窗体中使用 C++ 类会导致 System.AccessViolationException