2014-04-08 27 views
0

有人能告诉我我在做什么错吗?我正尝试在Windows Phone应用程序栏中使用一个图标,以便用户可以点击它来播放并暂停作为MediaElement插入到XAML中的背景音频。这是我的代码:从一个按钮暂停/播放功能?

private void ApplicationBarIconButton_Click(object sender, EventArgs e) 
    { 
     if (PlayState.Playing == BackgroundAudioPlayer.Instance.PlayerState) 
     { 
      BackgroundAudioPlayer.Instance.Pause(); 
     } 
     else if (PlayState.Paused == BackgroundAudioPlayer.Instance.PlayerState) 
     { 
      BackgroundAudioPlayer.Instance.Play(); 
     } 

这是有道理的阅读它通过和建设的时候,当我点击它,而我的设备上测试不扔了任何错误,但是音乐不会暂停和播放进行(我已设置AutoPlay = true来实现此目的)有人能告诉我该怎么做才能启用一个按钮来控制播放和暂停功能吗?

另外,如果我删除“否则,如果”,使代码放到一个简单的“别人”,所以它看起来是这样的:

private void ApplicationBarIconButton_Click(object sender, EventArgs e) 
    { 
     if (PlayState.Playing == BackgroundAudioPlayer.Instance.PlayerState) 
     { 
      BackgroundAudioPlayer.Instance.Pause(); 

     } 
     else 
     { 
      BackgroundAudioPlayer.Instance.Play(); 

     } 
    } 

它会暂停,但不会继续玩!

回答

0

这里是分步实施,以实现播放/暂停功能

click and get solution

+0

这是我试图遵循的那个,但是按钮只是简单地切换音频而不是打开和关闭。 – logikurl

0

“我已经插入作为XAML一个MediaElement的。”

如果您正在使用MediaElement,我认为您正在前台播放音频。音频开始后尝试关闭您的应用程序。它继续玩吗?要暂停播放媒体元素,只需使用媒体元素上的播放和暂停方法即可。

nameOfMediaElement.Pause(); 
nameOfMediaElement.Play(); 

要使用使用BackgroundAudioPlayer.Instance.PlayerState的事件处理程序,您必须设置初始音频播放的背景。为此,您需要通过BackgroundAudioPlayer启动音频播放。

http://msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.phone.backgroundaudio.backgroundaudioplayer(v=vs.105).aspx

+0

我曾考虑过使用两个单独的按钮来实现播放/暂停功能,它将包含您在文章中提到的代码,我将如何设置音频?我相信这将是“跟踪”方法,但这将如何实施?该按钮应该用作播放/暂停或静音/取消静音音频的“切换”。 – logikurl

0

试试这个。

if(mediaelement.CurrentState == MediaElementState.Paused) 
{ 
    mediaelement.Play(); 
} 
else 
{ 
    mediaelement.Pause(); 
} 

希望它适合你。