none
在做8.0的音乐播放请问如何传递网络音乐的播放列表给后台音频播放代理? RRS feed

  • 问题

  • 我生成了一个List但是不知道怎么传递给后台音频代理,有没有代码可以参考参考网络播放的列表传递,官方那些代码看不大懂!拜托了
    2015年3月27日 2:47

答案

  • 不是的。播放列表是在自定义的AudioPlayer类中,歌曲切换操作也是在那个类中进行的。同样的,和系统后台的AudioPlayerAgent沟通的也是那个AudioPlayer类。

    AudioPlayerAgent只负责音乐方面基本功能的操作,其他的都是在自定义的AudioPlayer中实现。例子的代码就是这样做的。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 向宽平 2015年4月8日 6:03
    2015年4月1日 5:04

全部回复

  • 你好,

    一般来说我们都是在app代码里的audioplayer封装类中传递这个List的,我不确定你是不是也是这么做的。这里有个演示文档说明了如何创建播放列表,然后如何传递给后台音频代理,请看一看那个"实现音频代理"小节。https://msdn.microsoft.com/zh-cn/library/windows/apps/hh202978(v=vs.105).aspx


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年3月30日 2:46
  • 您好,官方的这个代码不大看得懂==,初学者
    2015年3月31日 1:27
  • 比如我在a页面的cs里面写了个List<AudioTrack> 怎么传递给后台音频代理呢?用IsolatedStorageFile吗?如果是的话可以给给参考吗大神
    2015年3月31日 2:11
  • 你好,

    示例代码中继承AudioPlayerAgent类,实现了自己的AudioPlayer代理类。就是示例代码中的MyAudioPlaybackAgent工程。

    在工程中使用静态的数组来保存音乐集合,AudioPlayer通过currentTrackNumber变量来找到当前应该播放的歌曲。

    在播放下一首的方法中,首先增加currentTrackNumber变量来找到下一首歌曲在集合中的位置,然后判断索引是不是溢出了集合,如果是就回到第一首。然后调用播放方法实现换歌。上一首的方法也是如此。

    private void PlayNextTrack(BackgroundAudioPlayer player)
            {        
    if (++currentTrackNumber >= _playList.Count)
                {
                    currentTrackNumber = 0;
                }
                PlayTrack(player);
           }
    

    这个代理类写好后,系统就可以根据你提供的方法在后台播放音乐了。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年3月31日 2:39
  • 但是我的列表是从服务器获取的,可能每一个播放的歌单不同,然后获取到歌单,我生成一个list保存这些数据,在后台音频代理是获取不到这个list的 只能通过IsolatedStorageFile传递给后台音频,但是IsolatedStorageFile好像不能保存lsit数据吧?
    2015年3月31日 3:09
  • 后台音频代理类型里面有个静态的集合,你只要把从服务器获取的歌曲集合同步到那个静态的集合里面就可以了,然后重新设置一下currentTrackNumber来指向你当前想要播放的歌曲。

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年3月31日 3:17
  • 我明白了,就是说获取服务器的播放列表操作在后台音频里面获取?获取完了在播放?
    2015年3月31日 3:18
  • 不是的。播放列表是在自定义的AudioPlayer类中,歌曲切换操作也是在那个类中进行的。同样的,和系统后台的AudioPlayerAgent沟通的也是那个AudioPlayer类。

    AudioPlayerAgent只负责音乐方面基本功能的操作,其他的都是在自定义的AudioPlayer中实现。例子的代码就是这样做的。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 向宽平 2015年4月8日 6:03
    2015年4月1日 5:04