Windows Phone 7.1播放录制的PCM / WAV音频

时间:2012-05-19 13:40:03

标签: silverlight windows-phone-7.1 mediaelement

我正在开发一款能够录制音频并播放的WP7.1应用。我正在使用MedialElement来播放音频。 MediaElement可以正常播放从服务器下载的MP4(实际上是重命名的M4A文件)。但是,当我尝试播放带有或不带有WAV RIFF标题的录制文件(两种情况下都是PCM)时,它不起作用。它给了我一个错误代码3001,我找不到任何地方的定义。

任何人都可以在WP7.1中播放录制音频的一些示例代码,但不使用SoundEffect类。不想使用SoundEffect类,因为它适用于短音频剪辑。

这是我加载音频文件的方式:

using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
    using (Stream stream = storage.OpenFile(audioSourceUri.ToString(), FileMode.Open))
    {
        m_mediaElement.SetSource(stream);
    }
}

2 个答案:

答案 0 :(得分:0)

这个播放代码看起来不错。问题必须是存储代码。 BTW 3001表示AG_E_INVALID_FILE_FORMAT

答案 1 :(得分:0)

我刚刚意识到“每秒平均字节数”RIFF标头值是错误的。我使用的是每个采样位数值的错误值,自从16位PCM中的麦克风记录以来,它应该是16位。