My.Computer.Audio.Play("SoundFile.wav")
成都创新互联公司专业为企业提供东城网站建设、东城做网站、东城网站设计、东城网站制作等企业网站建设、网页设计与制作、东城企业网站模板建站服务,10年东城做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
SoundFile.wav是你要播放的声音文件的路径
用API mciSendString可以同时播放多个声音,需要提供路径。
资源文件很麻烦,要用反射读取出来,再用IO写到磁盘路径。
你是做游戏把?软糖建议是不要使用资源文件,而使用本地文件。
用个BGM文件夹保存背景音乐,用SE文件夹保存音效(学习RPG Maker的做法)
API代码奉上,具体实现模块字数超过最大值,请下载附件
Imports System.Text
''' summary
''' 可播放MPEG,AVI,WAV,MP3,MID,WMA等格式的音频文件,*不支持OGG
''' /summary
Public Class 音频设备
'声明API函数: mciSendString
System.Runtime.InteropServices.DllImport("winmm.dll", EntryPoint:="mciSendString")
Public Shared Function mciSendString(strCommand As String,
strReturn As StringBuilder,
iReturnLength As Integer,
hwndCallback As Integer) As Integer
End Function
'声明API函数: mciGetErrorString
System.Runtime.InteropServices.DllImport("winmm.dll", EntryPoint:="mciSendString")
Public Shared Function mciGetErrorString(errCode As Integer,
errMsg As StringBuilder,
buflen As Integer) As Integer
调用方法
Public Class Form1
Dim 音频设备 As New 音频设备
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim 路径 = "F:\音乐文件名.mp3"
音频设备.打开("自定义名称1", 路径)
音频设备.播放("自定义名称1")
'音频设备.暂停("自定义名称1")
'音频设备.继续("自定义名称1")
'音频设备.关闭("自定义名称1")
End Sub
End Class
如满意,请采纳,还有不懂的请追问,谢谢。
关键在于“播放结束”事情的捕捉,播完后捕捉到该事件,然后就可以播下一个了。
VB不会,但原理就那样了,自己上CSDN上搜搜例子,祝你好运。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim th As New Threading.Thread( _
Sub()
My.Computer.Audio.Play(New Byte() {}, AudioPlayMode.WaitToComplete)
End Sub)
th.Start()
End Sub
如果是WAV文件,这样就行了,不会同时播放
找1986年3月3日生的人
谁和我是同年同月同日、出生的
加我QQ183746999