2012-06-21 1 views
0

Я пытаюсь сделать небольшой радиус с AudioPlaybackAgent как Microsoft шоу в их Samples В примере мы имеем список adudios:Как установить/получить глобальную переменную между AudioPlaybackAgent в WindowsPhone

private static List<AudioTrack> _playList = new List<AudioTrack> 
{ 
    new AudioTrack(new Uri("http://000.000.000.000/radio1.mp3", UriKind.Absolute), 
    "Radio 1", null, null, null, null, EnabledPlayerControls.Pause), 

    new AudioTrack(new Uri("http://000.000.000.000/radio2.mp3", UriKind.Absolute), 
    "Radio 2", null, null, null, null, EnabledPlayerControls.Pause) 
}; 

И здесь я хотел бы играть треки:

private void PlayTrack(BackgroundAudioPlayer player) 
{ 
    player.Track = _playList[VARIABLE]; 
} 

на «Variable» Я хочу, чтобы поставить переменную, изменять в зависимости от страницы, когда я открываю в главном проекте. Как я могу это сделать? Я пробовал много вещей без выхода. Thnks !!

ответ

1

Окончательный ответ: Если вам не нужно использовать аудио в фоновом режиме вы можете просто используйте элемент мультимедиа, но если вы хотите его использовать, вы НЕ МОЖЕТЕ взаимодействовать между фоновым агентом и основным проектом с общедоступными переменными, вы должны работать с свойством Tag аудиоплеера для хранения и получения данных, t вы можете попробовать IsolatedStorge - Mutex.

+0

Похож на мой ответ –

0

Если вы хотите воспроизводить музыку в зависимости от того, какую страницу просматривает пользователь, вы должны использовать элемент управления MediaElement вместо звукового агента. Вы можете установить источник MediaElement как угодно. Вы можете сделать это XAML или код

<MediaElement x:Name="MyMediaElement" Source="{Binding YourProperty}"/> 

MyMediaElement.Source = new Uri(model.YourProperty); 
MyMediaElement.Volume = 1; 
MyMediaElement.Play(); 

Вы также можете установить трек для BackgroundAudioPlayer из приложения

var track = new AudioTrack(
     new Uri(AudioUri), 
     "Some song", // can be an empty string if no song title 
     "Some artist", // can be an empty string if no artist name 
     null, // album 
     null, // album art 
     ); 

BackgroundAudioPlayer.Instance.Track = track; 
BackgroundAudioPlayer.Instance.Play(); 
+0

Да, но я думаю, что не могу слушать его на заднем плане, не так ли? – elGeekalpha

+0

Исправить. Но нужно ли вам играть на заднем плане? Воспроизведение на заднем плане - это когда вы хотите, чтобы музыка продолжала воспроизводиться даже после выхода пользователя из вашего приложения. –

+0

Да, я знаю. Как я вижу, я не могу этого сделать. Мне нужно сделать это через IsolStorage. http://forums.create.msdn.com/forums/p/106035/624934.aspx#624934 Спасибо за помощь! – elGeekalpha

Смежные вопросы