使用 SoundPlayer 在 C# 中播放 .wav 文件

Playing a .wav file in c# using SoundPlayer

我目前有一个问题,一个文件作为 .m4a 发送给我,我将其重命名为 .wav.....(我认为这是问题所在,因为我可以播放其他 .wav 文件)

现在当我 运行 代码时它给了我这个错误:

Additional information: The file located at c:\Windows\Media\dj.wav is not a valid wave file.

也许我只需要将它改回 .m4a,然后让一些网站将其转换为 .wav,而不是我只是重命名它?

我的代码如下所示:

using System.Media;


playSimpleSound();



private void playSimpleSound()
    {
        SoundPlayer simpleSound = new SoundPlayer(@"c:\Windows\Media\dj.wav");
        simpleSound.Play();
    }

还有,我该如何写我的路径,这样它才能命中调试文件夹中的文件?因为我要把它部署到另一栋大楼的瘦客户端上。

更改文件的扩展名不会更改其中的内容。 M4A 是 MPEG-4 audio-only data, whereas WAV 文件,通常是原始和未压缩的音频样本。

要转换数据本身,您需要使用音频转码工具,例如 SoX or GoldWave

至于你的路径说明符,你可以简单地使用 "dj.wav" 或 "wavfiles\dj.wav",基本上相对于你的 exe 所在的位置。这是因为当前工作目录设置为在资源管理器中通过简单双击启动时所在的位置。但是,您也可以使用答案 here.

指定完整路径

希望对您有所帮助!