Windows phone 7 Media Element wav暂停

时间:2010-12-21 22:31:16

标签: windows-phone-7 wav mediaelement

我正在录制麦克风的声音。然后我将带有wav标头的PCM保存到隔离存储器中。之后我使用MediaElement播放它。我想有能力暂停这首歌,但这似乎是不可能的。我试过使用SmoothStreamingMediaElement,但问题是一样的 - 也许我做错了。

如果有人知道如何从微信中暂停这首歌,那么请帮忙。

这是我的代码,但暂停不起作用。也许我可以用不同的方式阅读文件?

            using (var store = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (var audio = store.OpenFile(_song_path, FileMode.Open, FileAccess.Read))
                {
                    _media_element.MediaOpened += new RoutedEventHandler(_media_element_MediaOpened);
                    _media_element.SetSource(audio);
                    audio.Close();
                }
            }

暂停代码非常简单:)

private void button2_Click(object sender, RoutedEventArgs e)
    {
        _media_element.Pause();
    }

为了进行测试,我制作了一个简单的项目,能够从网上下载文件并从隔离存储中播放。它适用于wmv和mp3,但不适用于wav。这是VS项目DowloadingAndPlayingWav

如果有人有任何想法请求帮助。我可能整个网络都被攻击了 - 这个问题没有办法解决。

2 个答案:

答案 0 :(得分:0)

MediaElementPause方法。你尝试过使用它吗?

答案 1 :(得分:0)

对于仍然对这个主题感兴趣的人(或许来自搜索),我想我会分享我在我的应用程序(Rapid Recorder)中处理这个问题的方法。

我找不到合适的暂停方式,但很容易被伪造。单击暂停按钮时,您只需存储当前播放位置并停止播放。按下播放按钮后,您只需在开始播放后再次设置位置即可。以下是一些片段:

private TimeSpan _pausedPosition;

暂停:

_pausedPosition = Player.Position;
Player.Stop();

玩:

Player.Play();
if (_pausedPosition != TimeSpan.Zero) Player.Position = _pausedPosition;