вопросы о медиаплеере - PullRequest
       11

вопросы о медиаплеере

0 голосов
/ 31 марта 2010

Я делаю медиаплеер в wpf, используя c #. У меня было 3 вопроса.

  1. Я пытался найти искателя

    XAML:

    <Slider Name="timelineSlider" Margin="40,91,26,0" ValueChanged="SeekToMediaPosition" Height="32" VerticalAlignment="Top" />
    

    Код:

    private void Element_MediaOpened(object sender, EventArgs e)
    {
        timelineSlider.Maximum = ply.NaturalDuration.TimeSpan.TotalMilliseconds;
    }
    
    private void SeekToMediaPosition(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
        int SliderValue = (int)timelineSlider.Value;
        TimeSpan ts = new TimeSpan(SliderValue, SliderValue, SliderValue, SliderValue, SliderValue);
        ply.Position = ts;
    }
    

    Когда я запускаю программу, я открываю mp3 и играю его, но искатель не двигается. Когда я нажимаю на ищущего, чтобы переместить его в определенную позицию, песня перестает играть, но ищущий движется. В чем проблема и как ее исправить?

  2. Как создать панель увеличения / уменьшения громкости?

  3. Как открыть несколько mp3-файлов и поставить их в очередь, как список воспроизведения?

Ответы [ 2 ]

0 голосов
/ 31 марта 2010

Я предполагаю, что вы воспроизводите MP3 с помощью элемента управления MediaElement ? В этом случае ваш искатель (иногда называемый скруббером) может связываться со свойством Position элемента MediaElement.

<MediaElement x:Name="_media"  />
<Slider Name="timelineSlider" 
        Margin="40,91,26,0" 
        Height="32" 
        VerticalAlignment="Top"
        Value="{Binding Path=Position.TotalMilliseconds, Mode=TwoWay, ElementName=_media}" />

Если вы хотите создать ползунок тома, вы можете использовать аналогичный метод, привязав его к свойству тома, в соответствии с документом MSDN том - это значение от 0 до 1.

* +1007 *

В отношении воспроизведения нескольких файлов вы захотите использовать подход, аналогичный тому, который LnDCobra указал в своем ответе.

0 голосов
/ 31 марта 2010

Ответьте на # 2: вам нужно сохранить упорядоченную коллекцию файлов для воспроизведения, прослушать событие mediaStopped и воспроизвести следующий файл в коллекции.

...