Как передать List <AudioTrack>из класса в класс AudioPlayer - PullRequest
5 голосов
/ 08 октября 2011

Сайт является примером Microsoft для Windows Phone 7, а именно: Образец фонового аудиоплеера или Образец В этом примере список воспроизведения формируется в классе 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, можно ли передавать в AudioPlayer. Посоветуйте что делать, куда копать. Помоги мне

Ответы [ 2 ]

8 голосов
/ 08 октября 2011

Записать информацию в IsolatedStorage или базу данных из клиентского приложения, а затем прочитать ее из агента AudioPlayer.

Чтобы уточнить: воспроизводите ли вы локальные файлы или потоковые файлы, вы будете связываться с агентом с помощьюзапись этой информации в таблицу БД или файл в IsolatedStorage.Допустим, у вас есть база данных с таблицей с именем Playlist.

Из вашего приложения или MainPage.xaml.cs (или viewmodel) запишите данные в таблицу списка воспроизведения.Затем выполните BackgroundAudioPlayer.Instance.Play();

Затем в AudioPlayerAgent, считанном из таблицы списка воспроизведения, получите данные для создания обновления AudioTrack.

: Изначально я использовал для этого IsolatedStorage иэто сработало, теперь я использую SterlingDB.Это работает очень хорошо, так как я могу записывать записи списка воспроизведения в SterlingDB в моем клиентском приложении и читать их по одному в агенте по мере манипулирования currentTrackIndex, и все это без необходимости создавать индекс SterlingDB.

0 голосов
/ 12 декабря 2015

Работает для Windows Phone 8

BackgroundAudioPlayer.Instance.Track = new AudioTrack(new 
         Uri("http://traffic.libsyn.com/wpradio/WPRadio_29.mp3", UriKind.Absolute), 
        "title", "artist", "album", new Uri("albumArtUrl", UriKind.RelativeOrAbsolute));
...