Windows CE - wave标头已损坏

时间:2014-08-09 22:46:26

标签: c# windows-ce motorola-emdk

我搜索了所有的互联网,但没有找到问题的解决方案。我只想从资源中播放声音,但它总是给我The wave header is corrupt。我看到了几个解决方法来解决这个问题,比如将Stream.Position设置为0,使Stream无效,然后重新加载声音,但它仍然不起作用。我的代码就是:

case TipoEvento.Erro:
    SoundPlayer player = new SoundPlayer(); 
    Stream sound = new MemoryStream(Properties.Resources.cow_single_cow_mooing);
    sound.Position = 0;
    player.Stream = null;
    player.Stream = sound;
    player.Play();
    break;

首先我实例化一个SoundPlayer,然后我读取了我要播放的mp3文件的字节,即Properties.Resources。然后我修改一些属性,最后去玩。当我尝试播放时,异常被抛出。我可以在Windows CE中播放声音吗? (.NET Framework 2.5,我没有File.ReadAllBytes())。

1 个答案:

答案 0 :(得分:0)

注意:SoundPlayer仅播放WAV文件....而不是MP3。

将MP3转换为WAV文件(这将导致更大的文件)....或使用Windows Media Player控件,或转换MP3数据(使用NAudio)等。