WPF MediaElement 如何从暂停处恢复播放?

问题描述 投票:0回答:3

我有 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();
    }
c# wpf audio mediaelement
3个回答
2
投票
当您设置

PlayAudio()

 属性时,您的 
Source
 方法会重新加载媒体文件。这会导致您的对象在您调用 
Play()
 时从头开始播放新加载的媒体。您不应在事件处理程序 
button1_Click_1
 中执行此操作,而应仅调用 
Play()
 方法:

private void button1_Click_1(object sender, RoutedEventArgs e) { McMediaElement.Play(); }
    

0
投票
这对我有用..

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; }
    

0
投票
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(); }
    
© www.soinside.com 2019 - 2024. All rights reserved.