Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何从web远程播放Visual Basic中的随机wav文件_Vb.net_Audio_Random - Fatal编程技术网

Vb.net 如何从web远程播放Visual Basic中的随机wav文件

Vb.net 如何从web远程播放Visual Basic中的随机wav文件,vb.net,audio,random,Vb.net,Audio,Random,我正在制作一个程序,而不是嵌入wav文件(程序变得越来越大);我决定把这些歌曲上传到我的网站上。该计划是一个孩子的游戏,一旦游戏结束,我希望它发挥从网址随机歌曲。最初,我使用一个代码从嵌入的资源中完成这项工作。这就是代码: Public Sub PlayRandomTrack() Randomize() Dim trackNum As Integer = CInt(Rnd() * 5 + 0.5) Select Case trackNum

我正在制作一个程序,而不是嵌入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放在某个地方而不是一个全新的代码?如果需要一个新的代码,它会是什么?我在网上找不到有关此的任何信息。

我不会使用按钮。扳机将是游戏结束。我已经知道该怎么做了,但这将如何播放来自互联网的随机文件?这将向您展示如何播放在线的wave文件。这取决于您是否知道要下载的URL。您可以将URL存储在一个列表(字符串)中,并创建一个随机数生成器,该生成器的唯一上界是列表(字符串)的上界,然后使用生成的随机数选择该索引处的项,并将其提供给提供的函数。。。
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