0

我正在使用 c# 在 wpf 中制作媒体播放器。我有 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 并将它们像播放列表一样排队?

4

2 回答 2

0

我将假设您正在使用MediaElement控件播放 MP3?如果是这样,您的搜索器(有时称为清理器)可以绑定到 MediaElement 的 Position 属性。

<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 之间的值。

<Slider Name="_volumeSlider"
        Minimum="0"
        Maximum="1"
        Value="{Binding Path=Volume, Mode=TwoWay, ElementName=_media}" />

关于播放多个文件,您需要采用类似于 LnDCobra 在他们的回答中指出的方法。

于 2010-03-31T17:14:14.233 回答
0

回答 #2 你需要保持有序的文件集合来播放,并监听 mediaStopped 事件,并播放集合中的下一个文件。

于 2010-03-31T16:06:15.790 回答