用vb怎样编写多媒体播放器啊?

用vb怎样编写多媒体播放器啊?,第1张

本例设计了一个多媒体播放器,它能够播放WAV、MIDI和AVI文件

Private Sub Check2_Click()

If Check2.Value = 1 Then

'关闭AVI文件的声音

MMControl1.Silent = True

Else

'打开AVI文件的声音

MMControl1.Silent = False

End If

End Sub

Private Sub ComClose_Click()

MMControl1.Command = "close"

End Sub

Private Sub ComPlay_Click()

MMControl1.Command = "close"

DiaOpen.Filter = "Wav文件|*.wav|MIDI文件|*.mid|AVI文件|*.avi"

DiaOpen.ShowOpen

MMControl1.FileName = DiaOpen.FileName

MMControl1.Command = "open"

MMControl1.Command = "play"

LabFile.Caption = DiaOpen.FileName

End Sub

Private Sub Form_Load()

'初高灶始化

MMControl1.Visible = False

MMControl1.Notify = True

MMControl1.Shareable = False

MMControl1.TimeFormat = 0

End Sub

Private Sub Form_Unload(Cancel As Integer)

MMControl1.Command = "close"

End Sub

Private Sub MMControl1_StatusUpdate()

'计算文件总长度,单位为秒

LabLen.Caption = MMControl1.Length / 1000

'动态显示蠢卜当前的播放位置

LabPlay.Caption = MMControl1.Position / 1000

End Sub

Private Sub MMControl1_Done(NotifyCode As Integer)

'如果文件播放结束

If MMControl1.Position = MMControl1.Length Then

'倒回止文件的起点

MMControl1.Command = "prev"

'如果选择了自动重复带念穗播放

If Check1.Value = 1 Then

MMControl1.Command = "play"

End If

End If

End Sub

使用一个多媒体功能,通过一个VB程序来运行WAV文件是一件轻而易举棚祥的事情。然而,系统必须为这一 *** 作而安装一个声卡。

你所需要的API函数称为PlaySound,以下为该函数的声明:

PublicDeclareFunctionPlaySoundLib"winmm.dll"_

Alias"PlaySoundA"(ByVallpszNameAsString,_

为了当前的需要,必须需要两个标记。它们是:

SND_ASYNC(value=1):以异步方式运行,这意味着当播放声音时函数在运行。

SND_FILENAME(value=&H20000):第一个变量为一个文件名。

所以,以下代码播放了DingDong.wav文件中的声音:

PlaySound"dingdong.wav",CLng(0),_

SND_ASYNCOrSND_FILENAME

当运行在一个程序中运行音频文件时,还有其他两点值得注意。第一,你必须确保一个特定的音频文件存在,否则会产生错误。这一过程可以用以下一个简单的函链衡搏数来完成:

PublicFunctionFileExists(FullFileName)AsBoolean

’Passedafilename(withpath)returns

’Trueifthefileexists,Falseifnot.

Dimss=dir(FullFileName) Ifs=""Then

 FileExists=FalseElseFileExists=TrueEndIfEndFunction

第二,程序必须具有为用户提供关闭声音的选择设置。这一过程可以通过使用一个比如gProgramSoundsEnabled的全局布尔变量来实现。

我的方法是在一个函数中同时处理这些需要,如下所示。(以下代码假设音频拦悔文件已经存放在程序文件中)

PrivateSubPlaySoundX(filenameAsString)

’Ifsoundisenabledandfilenameexists,

’playthespecifiedsound.

filename=App.path&"\"&filename

IfFileExists(filename)AndgProgramSoundsEnabledThen

 PlaySoundfilename,CLng(0),SND_ASYNCOrSND_FILENAMEEndIfEndSub正确使用这些函数,程序就可以播放任何Wave文件,如下所示:

从VB程序播放音频文件的其他方法包括窗体上的多媒体控制。当你不需要这些控制特性时,以上讲述的技术已经足够,并且很容易掌握。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12389455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存