首页 > 解决方案 > 使用 naudio 播放视图列表时如何循环等待?

问题描述

我在 vb.net 中有点新所以我试图使用 naudio 从列表视图播放一些 mp3,但我找不到等到下一首歌曲开始的方法,而不会失去停止和暂停按钮的焦点。使用 thread.sleep 会失去停止列表的能力。使用 doevents() 保持焦点但并没有真正起作用。

有任何想法吗?

If WaveOut.PlaybackState <> PlaybackState.Paused Then
                For i = 0 To MusicList.Items.Count - 1
                    Dim audio As AudioFileReader = New AudioFileReader(MusicList.Items(i).SubItems(1).Text)
                    Dim player As IWavePlayer = New WaveOut(WaveCallbackInfo.FunctionCallback)
                    player.Init(audio)
                    player.Play()
                    While player.PlaybackState = PlaybackState.Playing
                        System.Windows.Forms.Application.DoEvents()
                    End While
                    player.Stop()
                    player.Dispose()
                    audio.Dispose()
                    player = Nothing
                    audio = Nothing
                Next
End If

标签: vb.netlistviewnaudioplaylist

解决方案


推荐阅读