vb.net播放音頻,vb播放声音

vb.net怎么编程实现从音频输出口输出指定频率指定时长和占空比的单音信号。

1.用Win32 API PlaySound

成都网络公司-成都网站建设公司成都创新互联10年经验成就非凡,专业从事成都网站建设、成都网站设计,成都网页设计,成都网页制作,软文发布平台广告投放平台等。10年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:028-86922220,我们期待您的来电!

PlaySound位于"winmm.dll"中,可以根据输入参数的不同,播放WAV类型的音乐。在VB.NET中调用跟VB6中差不多:

先声明:

Private Declare Auto Function PlaySound Lib "winmm.dll" (ByVal lpszSoundName As String, ByVal hModule As Integer, ByVal dwFlags As Integer) As Integer

Const SND_FILENAME As Integer = H20000

Const SND_ALIAS As Integer = H10000

Const SND_SYNC As Integer = H0

具体还有很多常量,不一一列举,下面是播放一个wav文件的例子

Dim mstrfileName As String = "c:\eagle2.wav"

PlaySound(mstrfileName, 0, SND_FILENAME)

注意上面的播放是非同步的,就是说它并不会播放完毕才结束。如果把上面的代码写在一个Button.Click的事件处理程序中,第二次点击的时候它会打断第一次的播放,重新开始。

当然我们也可以调用系统的声音:

PlaySound("SystemStart", 0, SND_ALIAS Or SND_SYNC)

' 以同步的方式调用系统启动时候的声音。

2. 调用媒体播放器控件

VB.NET中并没有提供媒体播放器的.NET组件,没办法我们还是调用以前Com组件Windows Media Player。当然除了声音外,还可以播放视频文件。

首先把媒体播放器控件加到工具栏中,调用还是简单的写一下吧:)

Private Sub playMediaFile(ByVal mediaFileName As String)

With MediaPlayer1

.Stop()

.FileName = "c:\mp3\爱不爱我.mp3"

.Play()

End With

End Sub

VB.net 如何同时播放多个资源文件内的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.net 中 如何实现 播放mp3文件

在.NET里,没有托管的音乐播放器,用API只能播放WAV格式,对于MP3等形式的音频文件,就要依赖于其他控件了,常用的就是

MediaPlayer。使用方法:

在工具箱上点右键,选择“选择项目(Choose

Items)”,切到COM选项卡,找到

Windows

Media

Player,

勾选,确定

在t工具箱上,把刚才加入的MediaPlayer控件,拖放到窗体上

代码:

WindowsMediaPlayer1.URL

=

"mp3文件路径,支持网络路径"

WindowsMediaPlayer1.Ctlcontrols.play

基本就OK了,至于其他的操作诸如下一曲上一曲暂停停止,直接看

WindowsMediaPlayer1.Ctlcontrols.

里面的方法吧。

我用二进制读取了声音文件,VB或VB.net如何播放二进制声音数据,请高手赐教!

不明白你为什么要二进制读取声音文件,VB可以直接调用API播放声音文件,不需要你二进制来读取声音文件的。

Private

Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA"

(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub PlayWavFile(strFileName As String, PlayCount As Long, JianGe As Long)

'strFileName 要播放的文件名(带路径)

'playCount 播放的次数

'JianGe 多次播放时,每次的时间间隔

If Len(Dir(strFileName)) = 0 Then Exit Sub

If PlayCount = 0 Then Exit Sub

If JianGe 1000 Then JianGe = 1000

DoEvents

sndPlaySound strFileName, 16 + 1

Sleep JianGe

Call PlayWavFile(strFileName, PlayCount - 1, JianGe)

End Sub

Private Sub Form_Click()

PlayWavFile "C:\aaa.wav", 1, 1000 '参数:播放文件,播放次数,播放间隔

End Sub

VB.net如何加载音效?

方法一:调用系统DLL(这个有点不完善,也就是播放声音时窗体无法控制,效果相当于Enabled=true,但音频播放完毕后就没事了)

Private Declare Function sndPlaySound Lib "Winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim SoundFile As String, Result As Long

SoundFile = "D:\KuGou\Pianoboy - 第105天.wav" '此处为路径

Result = sndPlaySound(SoundFile, 0)

End Sub

方法二:使用WindowsMediaPlayer(WindowsMediaPlayer1的可见为False)

先添加一个windowsmediaplayer控件(工具箱里没有,需要手动添加)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

WindowsMediaPlayer1.visible=False

Me.WindowsMediaPlayer1.URL = "D:\KuGou\Pianoboy - 第105天.mp3"

End Sub

上面的都是点击button1(按钮1)后播放声音,若是鼠标移动到某控件上发出声音的话改一下触发事件就OK了。

vb.net怎么播放音乐文件

添加一个 WindowsMediaPlayer 控件 一句代码即可播放音乐 AxWindowsMediaPlayer1.URL = "音乐地址"


分享标题:vb.net播放音頻,vb播放声音
分享URL:http://myzitong.com/article/dsececg.html