locked
MediaPlayer后台自动播放下一首歌曲的问题 RRS feed

  • 问题

  • 大家好:

          我的一个音乐app因为要用到系统音乐库,所以用了Microsoft.Xna.Framework.Media,对于播放下一首歌曲的问题,我是在MediaPlayer_MediaStateChanged里用了一个DispatcherTimer,然后在里面加入了当MediaPlayer.PlayPosition == _playingSong.Duration时,调用播放下一首歌曲的按键的click事件代码的逻辑处理,这样做在当app在前台运行时可以正常自动播放下一首,但是当退到后台时,却只能播放完当前的歌曲,不能自动播放下一首,请问各位要怎样做才能解决这个问题呀?

    2012年4月30日 10:01

全部回复

  • 你好,

    我的理解,如果要MediaPlayer自动在后台连续播放,只要将一个song collection在MediaPlayer中播放,这样就会自动实现持续播放,即使程序在后台运行也可以持续播放。

    SongCollection的介绍请参考以下文档

    http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.songcollection.aspx

    2012年5月1日 7:40
  • 我用了你说的方法,还是不行啊。。。。请问用background agent的话要怎么才能整合音乐库的音乐啊?我在后台代理项目添加xna framework时说不能添加。。。。。
    2012年5月3日 14:45
  • 我的理解是一旦在你的应用程序中使用MediaPlayer播放音乐,即使推出你当前的应用程序,MediaPlayer还是会自动在后台播放的。这样的话就不需要你特意在你的应用Background agent中设置MediaPlayer的播放了。

    2012年5月4日 5:41
  • 嗯,后台播放是可以,但是我目前的问题是怎么也不能让程序在后台运行时能自动前进到下一首歌曲,即使用了song collection
    2012年5月5日 7:05
  • 你好,

    我这边无法重现你的问题,测试的结果是如果用MediaPlayer播放MediaLibrary里面的音乐,即使退出程序一样可以连续播放播放列表中的歌曲,无需使用background agent。

    请你将你的程序代码粘贴到这里或者将程序打包上传到http://skydrive.这样我可以测试一下。

    2012年5月9日 9:21