界面
界面上增加音量的控件和倍速控制控件
音量控制
主要也是一个Slider
进度条控件来实现音量调节
我们这里设置默认的最大值为100,默认Value值也为100,默认声音开到最大
这里目前完全由前端控制音量调节,可以直接使用ValueChanged
事件实现
xml
<Slider
Width="120"
Margin="0,30,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Maximum="100"
ValueChanged="Slider_ValueChanged"
Value="100" />
<TextBlock
Margin="280,35,0,6"
HorizontalAlignment="Left"
Text="音量"
TextWrapping="Wrap" />
代码实现
直接实现一下Slider_ValueChanged
事件,我们获取下Slider的当前值,将他转换后,赋值给MediaPlayer的Volume 属性
Volume 属性:获取/设置音量百分比,从0-100,0就是静音
csharp
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (_player != null)
{
var slider = (Slider)sender;
_player.Volume = Convert.ToInt32(slider.Value);
}
}
倍速控制
这里主要使用一个ComboBox
来添加倍速的选项
通过SelectionChanged
事件才触发倍速修改
csharp
<TextBlock
Margin="508,32,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Text="倍速"
TextWrapping="Wrap" />
<ComboBox
Name="SpeedCBox"
Width="120" SelectionChanged="SpeedCBox_SelectionChanged"
Margin="557,29,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top" />
代码实现
直接实现一下SpeedCBox_SelectionChanged
我们获取下ComboBox的当前选项,通过SetRate
方法设置播放速率
csharp
private void SpeedCBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (_player != null)
{
_player.SetRate((float)SpeedCBox.SelectedItem);
}
}
效果
实现了音量控制和倍速播放
视频教程
WPF+LibVLC开发播放器-实现播放器音量控制