×

VB VB.NET

vb.net、vb播放声音 wince下播放声音文件(wav)

Kalet Kalet 发表于2019-07-22 17:04:33 浏览224 评论0

抢沙发发表评论

 

vb.net中播放声音文件和vb中一样,调用API

 

方法一:

代码如下:

 Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
    '播放声音文件
    Private checki As Integer
    Const SND_SYNC = &H0 '播 放 完 毕 后 将 控 制 转 移 回 你 的 应用 程 序 中
    Const SND_ASYNC = &H1 '播 放WAV 文 件, 然 后 将 控 制 立 即 转 移 回 你 的 应用 程 序 中, 而 不 管 对WAV 文 件 的 播 放 是 否 结 束
    Const SND_NODEFAULT = &H2 '不 要 播 放 缺 省 的WAV 文 件, 以 免 发 生 某 些 意外 的 错 误
    Const SND_MEMORY = &H4 '播 放 以 前 已 经 加 载 到 内 存 中 的WAV 文 件
    Const SND_ALIAS = &H10000
    Const SND_FILENAME = &H20000
    Const SND_RESOURCE = &H40004
    Const SND_ALIAS_ID = &H110000
    Const SND_ALIAS_START = 0
    Const SND_LOOP = &H8 '循环播放文件
    Const SND_NOSTOP = &H10 '在 开 始 播 放 其 它 的WAV 文 件 之 前, 需 要 完 成 对本WAV 文 件 的 播 放
    Const SND_VALID = &H1F
    Const SND_NOWAIT = &H2000
    Const SND_VALIDFLAGS = &H17201F
    Const SND_RESERVED = &HFF000000
    Const SND_TYPE_MASK = &H170007

 

 

调用方法:

 dim  ReturnValue as long

 ReturnValue= sndPlaySound("Pwd_Ok.wav", SND_ASYNC)

'同步调用

 

方法二:

用 media类来播放声音文件

引用该类imports system.media

具体调用:

 

dim player as new soundPlayer

player.soundlocation="test.wav"

            '同步播放
            player.Load()
            player.Play()
            '异步播放
            player.LoadAsync()
            player.PlaySync()

           '循环播放

            player.LoadAsync()
            player.PlayLooping()

 

注:wince下播放wav文件用方法二,且wav必须是pcm编码格式的(测试ok)


 

群贤毕至

访客