该站点是Microsoft Windows Phone 7的一个示例,即:Background Audio Player SampleSample
在此示例中,播放列表在AudioPlayer类中形成为

    private static List<AudioTrack> _playList = new List<AudioTrack>
{
    new AudioTrack(new Uri("Kalimba.mp3", UriKind.Relative),
                    "Kalimba",
                    "Mr. Scruff",
                    "Ninja Tuna",
                    null),

    new AudioTrack(new Uri("Maid with the Flaxen Hair.mp3", UriKind.Relative),
                    "Maid with the Flaxen Hair",
                    "Richard Stoltzman",
                    "Fine Music, Vol. 1",
                    null),

    new AudioTrack(new Uri("Sleep Away.mp3", UriKind.Relative),
                    "Sleep Away",
                    "Bob Acri",
                    "Bob Acri",
                    null),

    // A remote URI
    new AudioTrack(new Uri("http://traffic.libsyn.com/wpradio/WPRadio_29.mp3", UriKind.Absolute),
                    "Episode 29",
                    "Windows Phone Radio",
                    "Windows Phone Radio Podcast",
                    null)
};

我有一个问题,例如,如果我在MainPage.cs中做到这一点:
 private static List<AudioTrack> playList2 = new List<AudioTrack>
{
    new AudioTrack(new Uri("http://myserver.com/tracks/track1.mp3", UriKind.Absolute),
                    "MyTrack1",
                    "Windows Phone Radio",
                    "Windows Phone Radio Podcast",
                    null),

    new AudioTrack(new Uri("http://myserver.com/tracks/track2.mp3", UriKind.Absolute),
                    "MyTrack2",
                    "Windows Phone Radio",
                    "Windows Phone Radio Podcast",
                    null),

    new AudioTrack(new Uri("http://myserver.com/tracks/track3.mp3", UriKind.Absolute),
                    "MyTrack3",
                    "Windows Phone Radio",
                    "Windows Phone Radio Podcast",
                    null)
};

它可以链接到MainPage类中的几个Internet广播,是否可以在AudioPlayer中进行传输。建议做什么,在哪里挖。帮我

最佳答案

将信息从客户端应用程序写到IsolatedStorage或数据库中,然后从AudioPlayer代理中读取信息。

澄清:
无论您正在播放本地文件还是流文件,都将通过将该信息写入数据库表或IsolatedStorage中的文件来与代理进行通信。假设您有一个包含名为“播放列表”的表的数据库。

从您的应用程序或MainPage.xaml.cs(或viewmodel)中将数据写入播放列表表。然后发出BackgroundAudioPlayer.Instance.Play();
然后,在从播放列表表中读取的AudioPlayerAgent中获取数据以创建AudioTrack

更新:
最初,我使用的是IsolatedStorage,并且可以正常工作,现在,我使用的是SterlingDB。这非常有效,因为我可以在客户端应用中将播放列表记录写到SterlingDB中,并在操纵currentTrackIndex时一次在代理中读取一个播放列表记录,而无需创建SterlingDB索引。

关于c# - 如何将List <AudioTrack>从类传递到类AudioPlayer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7693019/

10-09 13:09