我正在录制麦克风的声音。然后我将带有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
如果有人有任何想法请求帮助。我可能整个网络都被攻击了 - 这个问题没有办法解决。
答案 0 :(得分:0)
MediaElement
有Pause
方法。你尝试过使用它吗?
答案 1 :(得分:0)
对于仍然对这个主题感兴趣的人(或许来自搜索),我想我会分享我在我的应用程序(Rapid Recorder)中处理这个问题的方法。
我找不到合适的暂停方式,但很容易被伪造。单击暂停按钮时,您只需存储当前播放位置并停止播放。按下播放按钮后,您只需在开始播放后再次设置位置即可。以下是一些片段:
private TimeSpan _pausedPosition;
暂停:
_pausedPosition = Player.Position;
Player.Stop();
玩:
Player.Play();
if (_pausedPosition != TimeSpan.Zero) Player.Position = _pausedPosition;