我正在使用NAudio在WPF上创建我的音频播放器。
我正在添加一个slider,将滚动这首歌。
XAML:
<Slider Height="30"
Value="{Binding Path=MediaReader.Position, Mode=TwoWay}"
Maximum="{Binding Path=MediaReader.Length, Mode=OneWay}"/>请注意。MediaReader --它是一个返回MediaFoundationReader类型对象的属性
MediaFoundationReader mediaReader;
public MediaFoundationReader MediaReader => mediaReader;Problem:当歌曲正在编曲时,滑块属性Value没有改变!但是,通过滚动滑块的拇指,MediaReader的属性MediaReader会发生变化。
为什么会这样,我该如何解决呢?
发布于 2019-12-27 17:00:00
请看一下本教程:
https://www.pluralsight.com/guides/building-a-wpf-media-player-using-naudio
作者还使用滑块控件并绑定当前轨道位置,例如:
<Slider Grid.Column="0" Minimum="0" Maximum="{Binding CurrentTrackLenght, Mode=OneWay}" Value="{Binding CurrentTrackPosition, Mode=TwoWay}" x:Name="SeekbarControl" VerticalAlignment="Center">
<i:Interaction.Triggers>
<i:EventTrigger EventName="PreviewMouseDown">
<i:InvokeCommandAction Command="{Binding TrackControlMouseDownCommand}"></i:InvokeCommandAction>
</i:EventTrigger>
<i:EventTrigger EventName="PreviewMouseUp">
<i:InvokeCommandAction Command="{Binding TrackControlMouseUpCommand}"></i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
</Slider>
public double CurrentTrackPosition
{
get { return _currentTrackPosition; }
set
{
if (value.Equals(_currentTrackPosition)) return;
_currentTrackPosition = value;
OnPropertyChanged(nameof(CurrentTrackPosition));
}
}我想你能在这件事背后找到点子..。
https://stackoverflow.com/questions/59503005
复制相似问题