我有 2 个按钮,播放和暂停,当我单击暂停时,音乐停止,当我单击播放时,它从头开始播放音频。我想像当我按“播放”时一样,它从我停止的地方恢复。
private void PlayAudio()
{
McMediaElement.LoadedBehavior = MediaState.Manual;
McMediaElement.Source = new Uri("../../SingAlong/Food Fit For A King/old king cole.mp3", UriKind.RelativeOrAbsolute);
McMediaElement.Play();
}
private void button1_Click_1(object sender, RoutedEventArgs e)
{
PlayAudio();
}
private void button2_Click(object sender, RoutedEventArgs e)
{
McMediaElement.Pause();
}
PlayAudio()
属性时,您的
Source
方法会重新加载媒体文件。这会导致您的对象在您调用
Play()
时从头开始播放新加载的媒体。您不应在事件处理程序
button1_Click_1
中执行此操作,而应仅调用
Play()
方法:
private void button1_Click_1(object sender, RoutedEventArgs e)
{
McMediaElement.Play();
}
private void button1_Click_1(object sender, RoutedEventArgs e)
{
McMediaElement.LoadedBehavior = MediaState.Pause;
}
private void button2_Click_1(object sender, RoutedEventArgs e)
{
McMediaElement.LoadedBehavior = MediaState.Play;
}
Many years have passed, but maybe it will be useful to someone..
This works well for me:
bool isPaused = false;
// Button play
private void button1_Click_1(object sender, RoutedEventArgs e)
{
if(!isPaused){
// Do all what You want
}
isPaused = false;
myMediaElement.Play();
}
// Button Pause:
private void button2_Click_1(object sender, RoutedEventArgs e)
{
isPaused = true;
myMediaElement.Pause();
}