gpt4 book ai didi

c# - 有什么方法可以仅在内存中将.mp4格式的音频转换为.wav格式吗?

转载 作者:行者123 更新时间:2023-12-02 23:03:01 25 4
gpt4 key购买 nike

我正在开发WPF应用程序,必须在其中播放音频。我以.mp4格式(字节数组)接收音频数据,唯一的限制是我无法将其写到硬盘上。

我找到了几种播放.mp4格式的解决方案,例如WMPLib.WindowsMediaPlayer,但是我无法提供字节数组或流到该库来播放音频。它只接受文件路径。

然后,我找到了System.Media.SoundPlayer,它可以播放流中的音频,但只是.wav格式。我开始寻找将mp4转换为wav的解决方案。我找到了NAudio库,可以通过以下方式进行转换:

using (var data = new MediaFoundationReader(filePath)) {
var stream = new MemoryStream();
WaveFileWriter.WriteWavFileToStream(stream, data);
}

问题是我可以仅使用文件路径参数实例化 MediaFoundationReader。我不找到任何不使用文件即可创建它的方法。我认为这也是一个死胡同。

因此,关于如何在内存中转换音频,或者如何直接从字节数组或流中播放 .mp4文件的任何建议都会有所帮助?

最佳答案

您可以使用NAudio转换任何音频格式

查看样例:How to convert a MP3 file to WAV with NAudio in WinForms C#
这样的几种方法MediaFoundationReader

关于c# - 有什么方法可以仅在内存中将.mp4格式的音频转换为.wav格式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57056115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com