我试着按随机顺序播放歌曲,在播放完所有歌曲后,所有歌曲都变成nextMusic.WasPlayed = False,随机数生成器继续生成数字,但是当它再次播放一些歌曲之后,生成器进入循环,不停地生成数字。
Dim RanTrack As Random = New Random(TimeOfDay.Millisecond)
Private Sub nextBTN_Click(sender As Object, e As EventArgs) Handles nextBTN.Click
If My.Settings.Shufle = True Then
generateNumber:
Dim trackN As Integer = RanTrack.Next(musicControl.Controls.Count - 1)
Debug.WriteLine("number " & trackN)
Dim nextMusic As MusicItem = musicControl.Controls.Item(trackN)
If nextMusic.WasPlayed = False Then
nextMusic.PlayMusic()
Else
GoTo generateNumber
End If
End If
End Sub发布于 2014-03-15 23:48:53
试着做这样的事情:
Dim RanTrack As Random = New Random()
Private Sub nextBTN_Click(sender As Object, e As EventArgs) Handles nextBTN.Click
If My.Settings.Shufle = True Then
Dim nextMusics = ( _
From nextMusic In musicControl.Controls.Cast(Of MusicItem)() _
Where nextMusic.WasPlayed = False _
Order By RanTrack.NextDouble() _
Select nextMusic).ToArray()
If nextMusics.Any() Then
nextMusics(0).PlayMusic()
End If
End If
End Subhttps://stackoverflow.com/questions/22430052
复制相似问题