如何在 Xamarin.Forms 中制作流畅的移动音频播放器?这就是我尝试过的:
一个名为“AudioPlayer”的服务。
代码如下:
await Task.Run(
() =>
{
while (!ct.IsCancellationRequested)
{
this.AudioPosition = this.audioPlayer.CurrentPosition;
}
},
ct);
如果我播放音频文件 ,这非常有用一次 .但是,如果我尝试重播文件几次,UI 会越来越多地被阻塞。似乎 Task.Run() 总是创建一个新任务并且不会“处理”旧任务..?
我还尝试更新
Device.InvokeOnMainThread()
中的值如果我使用它, slider 将不会得到更新。如何在文件流畅播放时更新音频 slider ?
最佳答案
您是否尝试过使用 Timer 而不是带有 while 循环的 Task?
我假设您的应用程序是唯一一个控制播放的应用程序 - 因此您可以在播放暂停/停止事件处理程序/命令中处理计时器。
您提供的代码量不足以提供更高级的建议。
关于c# - 如何在 Xamarin.Forms 中制作平滑移动的音频 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44392810/