我正在抛光一个VB.NET刽子手游戏。当你赢得比赛时,我添加了一只火鸡吞虎咽的声音。当你获胜时,这就在我的循环中:
Dim sndPing As New SoundPlayer(My.Resources.turkey)
sndPing.Play()
My.Computer.Audio.Play("C:\Users\john\Desktop\CS120_FinalProject_Hannonv2.0\CS120_FinalProject_Hannonv1.5\FinalProject_Hangman_Hannon\FinalProject_Hangman_Hannon\Resources\turkey.wav", AudioPlayMode.Background)
我已将turkey.wav文件加载到我的资源中,但我无法使用“\ Resources \ turkey.wav”或My.Resources.turkey为其提供本地目录。我打算在打包时找到一种发送文件的方法。
答案 0 :(得分:11)
很简单,如果您的资源音频文件名为“Ding”
My.Computer.Audio.Play(My.Resources.Ding, AudioPlayMode.Background)
那是所有人! :)
答案 1 :(得分:3)
你的代码做了两次相同的事情。首先,使用嵌入的资源创建SoundPlayer对象,然后调用静态函数“My.Computer.Audio.Play”。你会想做一个或另一个。
SoundPlayer的优势在于您可以使用嵌入式资源(因此您无需跟踪wav文件)。但它需要更多的设置。
如果要使用静态函数,可以传入相对于exe位置的路径。像这样:
My.Computer.Audio.Play(System.AppDomain.CurrentDomain.BaseDirectory & "\turkey.wav")
请注意,您的wav文件需要与.exe位于同一文件夹中才能使上述代码生效。