📄 vbtips1.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>VBTips1</title>
</head>
<body>
<h1 align="center"><a name="top"></a>VB技巧<font size="5"><strong>(2)</strong></font><font
size="5" face="楷体_GB2312"><b>-</b></font><font
color="#FF0000">多媒体处理</font></h1>
<blockquote>
<p><strong>1 </strong><a href="#音效档播放程式"><strong>音效档播放程式</strong></a><strong>
<br>
2 </strong><a href="#如何用API播放CD"><strong>如何用API播放CD</strong></a><strong>
<br>
3 </strong><a
href="#如何用API及MMSYSTEM.DLL播放AVI文件"><strong>如何用API及MMSYSTEM.DLL播放AVI文件</strong></a><strong>
<br>
4 </strong><a
href="#如何用API及MMSYSTEM.DLL播放WAV文件"><strong>如何用API及MMSYSTEM.DLL播放WAV文件</strong></a><strong>
<br>
5 </strong><a href="#怎样检查声卡的存在"><strong>怎样检查声卡的存在</strong></a><strong>
<br>
6 </strong><a href="#如何从sound"><strong>如何从"
SOUND.DRV"中提取声音</strong></a><strong> <br>
7 </strong><a href="#如何播放WAV文件"><strong>如何播放WAV文件</strong></a><strong>
<br>
</strong></p>
</blockquote>
<div align="center"><center>
<table border="0" width="88%">
<tr>
<td width="80%"><p align="left"><a
href="vbtips.htm#Return">[1]</a> [2] <a
href="vbtips2.htm">[3]</a> <a href="vbtips3.htm">[4]</a> <a
href="vbtips4.htm">[5]</a> <a href="vbtips5.htm">[6]</a> <a
href="vbtips7.htm">[7]</a> <a href="#home">[8]</a> <a
href="vbtips9.htm">[9]</a> <a href="vbtips10.htm">[10]</a></p>
</td>
<td><p align="right"><font size="2">第二页(共十页)</font></p>
</td>
</tr>
</table>
</center></div>
<hr>
<div align="center"><center>
<table border="0" cellspacing="1" width="88%">
<tr>
<td width="100%"><a name="音效档播放程式"></a><font
size="4"><strong>音效档播放程式</strong></font><br>
------------------------------------------------------------------------
<p> ----所需物件:PictureBox(1),Label(6),CommandButton(2),CommonDialog(1),MMControl(1)。
</p>
<p> ----程式码: </p>
<p>Const INTERVAL = 1000 <br>
Dim CurVal As Double </p>
<p>Private Sub CmdEnd_Click() <br>
MMControl1.Command = "stop" <br>
MMControl1.Command = "close" <br>
End <br>
End Sub </p>
<p>Private Sub CmdOpen_Click() <br>
MMControl1.Command = "stop" <br>
MMControl1.Command = "close" <br>
Close #1 <br>
On Error GoTo errhandler <br>
CMDlg.Filter = "音效档(*.wav;*.mid)
|*.wav;*.mid" <br>
CMDlg.FilterIndex = 1 <br>
CMDlg.Action = 1 <br>
Open CMDlg.filename For Input As #1 <br>
<br>
If Right$(CMDlg.filename, 3) =
"wav" Then <br>
MMControl1.DeviceType =
"waveaudio" <br>
Else <br>
MMControl1.DeviceType =
"sequencer" <br>
End If <br>
<br>
MMControl1.filename = CMDlg.filename <br>
MMControl1.Command = "open" <br>
CurVal = 0# <br>
MMControl1.UpdateInterval = 0 <br>
errhandler: <br>
Exit Sub <br>
End Sub </p>
<p>Private Sub Form_Load() <br>
Label1.Caption = "音效档名:"
<br>
Label2.Caption = "总共时间:"
<br>
Label3.Caption = "目前位置:"
<br>
MMControl1.UpdateInterval = 0 <br>
End Sub </p>
<p>Private Sub Form_Unload(Cancel As Integer) <br>
Const MCI_MODE_NOT_OPEN = 524 <br>
If Not MMControl1.Mode = MCI_MODE_NOT_OPEN
Then <br>
MMControl1.Command =
"close" <br>
End If <br>
End Sub </p>
<p>Private Sub MMControl1_PauseClick(Cancel As Integer) <br>
MMControl1.UpdateInterval = 0 <br>
CurVal = CurVal <br>
End Sub </p>
<p>Private Sub MMControl1_PlayClick(Cancel As Integer) <br>
MMControl1.UpdateInterval = INTERVAL <br>
End Sub </p>
<p>Private Sub MMControl1_PrevClick(Cancel As Integer) <br>
CurVal = 0# <br>
End Sub </p>
<p>Private Sub MMControl1_StatusUpdate() <br>
<br>
MMControl1.TimeFormat = 0 <br>
CurVal = CurVal + MMControl1.UpdateInterval
+ 54 </p>
<p> Now_position = CurVal <br>
Now_Min = Int(Now_position / 1000 / 60) <br>
Now_Sec = Int(Now_position / 1000) Mod 60 <br>
Total_Min = Int(MMControl1.Length / 1000 /
60) <br>
Total_Sec = Int(MMControl1.Length / 1000)
Mod 60 <br>
<br>
Label4.Caption = MMControl1.filename <br>
Label5.Caption = Format(Total_Min,
"00") + ":" + Format(Total_Sec,
"00") <br>
Label6.Caption = Format(Now_Min,
"00") + ":" + Format(Now_Sec,
"00") </p>
<p> If MMControl1.PlayEnabled = False And
Now_Min = Total_Min And Now_Sec = Total_Sec Then <br>
CurVal = 0# <br>
MMControl1.UpdateInterval
= 0 <br>
MMControl1.Command =
"prev" <br>
MMControl1.Command =
"stop" <br>
End If <br>
End Sub </p>
<p>Private Sub MMControl1_StopClick(Cancel As Integer) <br>
CurVal = 0# <br>
MMControl1.UpdateInterval = 0 <br>
MMControl1.Command = "prev" <br>
End Sub <br>
<a href="#top">返回</a></p>
<p><br>
<a name="如何播放WAV文件"></a><font size="4"><strong>如何播放WAV文件</strong></font><br>
'----------------------------------------------------------------
<br>
'Author: Dr. John A. Nyhart <br>
' <br>
'How do I play a WAV file with VB? <br>
'----------------------------------------------------------------
<br>
'*****************************************************************
<br>
Sub PlayWav(SoundName As String) <br>
Dim tmpSoundName As String <br>
Dim wFlags%, X% <br>
<br>
' declare statements (Place in a bas module.) <br>
''********************************** <br>
'#If Win32 Then <br>
'Public Declare Function sndPlaySound& Lib
"winmm.dll" Alias <br>
"sndPlaySoundA" (ByVal lpszSoundName As String,
ByVal uFlags As Long) <br>
'#Else <br>
'Public Declare Function sndPlaySound% Lib
"mmsystem.dll" (ByVal <br>
lpszSoundName As String, ByVal uFlags As Integer) <br>
'#End If 'WIN32 <br>
' ********************************** <br>
' WAV Sound values <br>
'Global Const SND_SYNC = &H0 <br>
'Global Const SND_ASYNC = &H1 <br>
'Global Const SND_NODEFAULT = &H2 <br>
'Global Const SND_LOOP = &H8 <br>
'Global Const SND_NOSTOP = &H10 <br>
' ********************************** <br>
<br>
' *** pathWavFiles is a var with the subDir where <br>
' the sound files are
stored <br>
tmpSoundName = pathWavFiles & SoundName <br>
<br>
wFlags% = SND_ASYNC Or SND_NODEFAULT <br>
X% = sndPlaySound(tmpSoundName, wFlags%) <br>
<br>
End Sub <br>
<a href="#top">返回</a></p>
<p><br>
<a name="如何用API及MMSYSTEM.DLL播放WAV文件"></a><font
size="4"><strong>如何用API及MMSYSTEM.DLL播放WAV文件</strong></font></p>
<p>'Author: Gordon F. MacLeod <br>
'How to play a .WAV file using API and the MMSYSTEM.DLL. <br>
'-------------------------------------------------------------------
<br>
' Declare this API and these Constants in a .BAS file: </p>
<p>Declare Function sndPlaySound% Lib
"MMSYSTEM.DLL" (ByVal lpszSoundName$, <br>
ByVal wFlags%) </p>
<p> Global Const SND_SYNC
= &H0000 <br>
Global Const SND_ASYNC
= &H0001 <br>
Global Const SND_NODEFAULT = &H0002 <br>
Global Const SND_LOOP
= &H0008 <br>
Global Const SND_NOSTOP =
&H0010 </p>
<p>' Paramaters: </p>
<p>' lpszSoundName$ </p>
<p>' Specifies the name of the sound to play. The
function first <br>
' searches the [sounds] section of the WIN.INI file for
an entry <br>
' with the specified name, and plays the associated
waveform sound <br>
' file. If no entry by this name exists, then it assumes
the <br>
' specified name is the name of a waveform sound file. If
this <br>
' parameter is NULL, any currently playing sound is
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -