我正在使用c#在wpf中制作媒体播放器。我有3个问题。
我试过制作一个寻求者
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并播放它但寻求者不会移动。当我点击导引头将其移动到某个位置时,歌曲停止播放但寻求者移动。有什么问题,如何解决?
如何创建音量增加/减少栏?
如何打开多个mp3并将其排列为播放列表?
答案 0 :(得分:0)
回答#2,你需要保留一个有序的文件集合,然后收听mediaStopped事件,然后播放集合中的下一个文件。
答案 1 :(得分: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在答案中指出的方法。