C# 无法确定如何获取运行异步的方法
我试图让一个轨迹条在播放时跟随mp3。我将我的方法设置为任务,但它会在歌曲播放期间锁定我的应用程序。感谢您的帮助C# 无法确定如何获取运行异步的方法,c#,C#,我试图让一个轨迹条在播放时跟随mp3。我将我的方法设置为任务,但它会在歌曲播放期间锁定我的应用程序。感谢您的帮助 public void update(TrackBar t, AudioFileReader r) { this.BeginInvoke((Action)delegate () { t.Maximum = (int) (Math.Ceiling(r.TotalTime.TotalSeconds)
public void update(TrackBar t, AudioFileReader r)
{
this.BeginInvoke((Action)delegate ()
{
t.Maximum = (int)
(Math.Ceiling(r.TotalTime.TotalSeconds));
t.Value = (int)(r.Position /
r.WaveFormat.AverageBytesPerSecond);
});
}
Task.Run(()=>update(trackBar2, audioFile));
使用此async Wait可使任务异步
public async Task updateAsync(TrackBar t, AudioFileReader r) {
await Task.Run((()=>update(t,r));
}
public void update(TrackBar t, AudioFileReader r)
{
this.BeginInvoke((Action)delegate ()
{
t.Maximum = (int)
(Math.Ceiling(r.TotalTime.TotalSeconds));
t.Value = (int)(r.Position /
r.WaveFormat.AverageBytesPerSecond);
});
}
updateAsync(trackBar2, audioFile);
您的音频播放器是否有任何活动-此时您应该更新TrackBar。请共享一个。首先感谢您的回复!如果您是指按钮中的事件,那么在我的播放按钮事件方法中将更新方法作为任务调用。