2015-07-29 3 views
1

Я создаю музыкальное приложение в Windows Phone 8.1 silverlight. Я использовал medialibrary и songcollection для доступа к музыкальной библиотеке в устройстве. Я также использую медиаплеер для воспроизведения/паузы/следующей/песни. Но я хочу использовать слайдер, чтобы изменить позицию активной песни, но я не имею идеи ее решить. Пожалуйста, помогите мне, спасибо большое!Обновление активной позиции композиции в телефоне Windows с помощью слайдера

private void changed_possition(object sender, System.Windows.Input.ManipulationCompletedEventArgs e)//slider event 
    { 
     if (MediaPlayer.State== MediaState.Playing) 
     { 
      TimeSpan ts = new TimeSpan(0, 0, (int)music_slider.Value); 
      MediaPlayer.Queue.ActiveSong.Duration = ts; 
     } 
    } 

Пробовал использовать этот код, но он не работает.

ответ

0

Прежде всего, вам нужно установить максимум бегунка

SliderMedia.Maximum = YourMediaElement.NaturalDuration.TimeSpan.TotalSeconds;

и привязать значение ползунка к

Value = "{Binding ElementName = YourMediaElement, Path = Position.TotalSeconds, режим = OneWay}"

Далее Вы можете создать ManipulationCompleted событие слайдера, как

long ticks = (long) (TimeSpan.TicksPerSecond * SliderMedia.Value); YourMediaElement.Position = новый TimeSpan (тики);

С этим событием ManipulationCompleted, когда вы измените положение панели на слайдере, положение вашей песни будет изменено.

+0

Привет Shweta Goyal, сначала позвольте мне поблагодарить за вашу поддержку, но я использовал медиаплеер для воспроизведения песен в MediaLibrary, так что мне теперь нужно делать? –

+0

@ NguyễnĐăngThế извините за поздний ответ. Если вы используете медиаплеер, вам просто нужно назначить новое положение (изменить) на BackgroundMediaplayer.Current.position Это, безусловно, будет работать –