是否可以确定音频文件是否已停止播放?
我需要在音频停止播放后触发Sub
。
我通过以下方式播放音频:
My.Computer.Audio.Play(My.Resources.music, AudioPlayMode.Background)
callSubMethodHere()
但即使音频尚未完成,它也会触发该方法 我尝试使用:
My.Computer.Audio.Play(My.Resources.Second, AudioPlayMode.WaitToComplete)
callSubMethodHere()
是的!它在执行Sub
之前等待音频完成播放。但它冻结了我的程序,我的客户不想要它。
有没有办法通过以下方式确定它:If My.Computer.Audio.Stop = True
或其他什么?虽然在互联网上没有找到任何东西。似乎msdn也没有它。
有什么帮助吗? vb.net
或c#
会这样做。谢谢!
答案 0 :(得分:0)
使用Async / Await。进一步阅读:https://msdn.microsoft.com/en-us/library/hh191443.aspx
Class LockingWithAwait
Public Sub Test()
DoSomething()
End Sub
Private Sub doSomething()
Await Task.Run(Function() PlayTheMusicWithLock())
CallSubMethodHere()
End Sub
Private Sub PlayTheMusicWithLock()
My.Computer.Audio.Play(My.Resources.Second, AudioPlayMode.WaitToComplete)
End Sub
Private Sub CallSubMethodHere()
Console.WriteLine("Hello world.")
End Sub
End Class