2012-11-20 19 views
0

我在製作一個程序,而不是嵌入wav文件(程序變得很大);我決定將歌曲上傳到我的網站。該程序是一個孩子的遊戲,一旦遊戲結束,我希望它播放來自URL的隨機歌曲。最初,我使用了一個代碼從嵌入式資源中完成它。這是代碼:如何在Visual Basic中通過Web遠程播放隨機wav文件

 Public Sub PlayRandomTrack() 
      Randomize() 

    Dim trackNum As Integer = CInt(Rnd() * 5 + 0.5) 

    Select Case trackNum 
     Case 1 
      My.Computer.Audio.Play(My.Resources.CallingMonsters, AudioPlayMode.Background) 
     Case 2 
      My.Computer.Audio.Play(My.Resources.McclainSisters, AudioPlayMode.Background) 
     Case 3 
      My.Computer.Audio.Play(My.Resources.Mendler, AudioPlayMode.Background) 
     Case 4 
      My.Computer.Audio.Play(My.Resources.Pray, AudioPlayMode.Background) 
     Case Else 
      My.Computer.Audio.Play(My.Resources.WillowWhip, AudioPlayMode.Background) 

    End Select 
End Sub 

有沒有辦法只是簡單地把URL的地方,而不是一個完整的新代碼?如果它是一個需要的新代碼,它會是什麼?我無法在網上找到任何信息。

回答

0
Option Strict On 
Imports System.Net 
Imports System.IO 
Public Class Form1 
    Dim SongURLs As New List(Of String) 
    Dim R As New Random 
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click 
     GameOver() 
    End Sub 
    Sub GameOver() 
     PlayRandomInternetSong() 
    End Sub 
    Sub PlayRandomInternetSong() 
     Randomize() 
     Dim RandomSongIndex As Integer = R.Next(0, SongURLs.Count) 
     PlayOnlineWaveFile(SongURLs(RandomSongIndex)) 
    End Sub 
    Sub PlayOnlineWaveFile(ByVal Address As String) 
     Dim WavBytes As Byte() 
     Using W As New WebClient 
      WavBytes = W.DownloadData(Address) 
     End Using 
     Using mStream As New MemoryStream(WavBytes, False) 
      My.Computer.Audio.Play(mStream, AudioPlayMode.Background) 
     End Using 
    End Sub 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     SongURLs.Add("http://www.villagegeek.com/downloads/webwavs/adios.wav") 
     SongURLs.Add("http://www.villagegeek.com/downloads/webwavs/excellent.wav") 
     SongURLs.Add("http://www.villagegeek.com/downloads/webwavs/failure1.wav") 
     SongURLs.Add("http://www.villagegeek.com/downloads/webwavs/Austin_Powers_groovy.wav") 
     SongURLs.Add("http://www.villagegeek.com/downloads/webwavs/american_pie_bless_net.wav") 
     SongURLs.Add("http://www.villagegeek.com/downloads/webwavs/BluesBros_106miles.wav") 
    End Sub 
End Class 
+0

我不打算使用按鈕。觸發器將是遊戲結束。我已經知道該怎麼做,但這將如何播放來自互聯網的隨機文件? – user1821146

+0

這會告訴你如何播放在線的wave文件。您需要知道您要下載的URL。您可以將您的URL存儲在一個列表(字符串)中,並創建一個隨機數生成器,其獨佔的上限是列表的上限(字符串),然後使用生成的隨機數選擇該索引處的項目,並將其提供給所提供的功能... –

+0

我爲你更新了,這將隨機選擇一個文件播放。 –