试图从溪流中播放声音;文件以.mp3开头,然后是byte []数组,然后是流..为什么它不起作用?

时间:2013-03-09 00:04:34

标签: c# audio

所以我有一个字节流:我可以保存带有.mp3扩展名的文件并且播放效果很好,但你会做什么来做现场播放?它实际上是一个mp3,但流式传输所以它是一个字节数组。您可以使用.mp3扩展名保存它并且播放正常,如果它是一个mp3文件,为什么它不能从流播放?我如何从流中播放。

            byte[] d1 = mywave
            //System.IO.File.WriteAllBytes(@"C:\" + t.ToString() + ".mp3", d1);
            MemoryStream buff = new MemoryStream(d1);
            SoundPlayer sp = new SoundPlayer(buff);
            sp.Play();

throws wave标头已损坏。 / InvalidOperationException

那么如何在流上创建音频标题呢?

3 个答案:

答案 0 :(得分:0)

您可以通过文件开头的音频文件代码更改4个第一个字节!

..如果那就是你需要的......祝你好运

答案 1 :(得分:0)

我没有玩过很多东西,但可能就像它的MP3一样......

The SoundPlayer class cannot play other file types, such as .wma or .mp3.    
If you want to play other file types, you can use the Windows Media Player control

http://msdn.microsoft.com/en-us/library/system.media.soundplayer(v=vs.100).aspx

答案 2 :(得分:0)

SoundPlayer类播放WAV文件,而不播放MP3。有几个库可以播放MP3,请参阅this MSDN论坛帖子。