您目前已離線,請等候您的網際網路重新連線

如何在 Visual Basic 中選取 soundcard 與多媒體控制項

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:180032
結論
本文將告訴您,如何設定 WaveAudio 裝置 (soundcard) 所使用的 Visual Basic 「 多媒體控制項 (MCI32.ocx) 使用。
其他相關資訊
若要使用多媒體控制項的 [WaveAudio 裝置 (soundcard) 的設定,您必須使用 mciSendCommand API。多媒體控制項不會直接提供一種方法可讓您設定用於播放或錄音裝置。

下列 Visual Basic 範例程式碼將示範如何使用 mciSendCommand 指定用於 WaveAudio 輸出裝置。

範例程式碼

以下是必要的定義和宣告。放置這些模組檔案中:
   Public Const MMSYSERR_NOERROR = 0   Public Const MCI_SET = &H80D   Public Const MCI_WAVE_OUTPUT = &H800000   Type MCI_WAVE_SET_PARMS       dwCallback As Long       dwTimeFormat As Long       dwAudio As Long       wInput As Long       wOutput As Long       wFormatTag As Integer       wReserved2 As Integer       nChannels As Integer       wReserved3 As Integer       nSamplesPerSec As Long       nAvgBytesPerSec As Long       nBlockAlign As Integer       wReserved4 As Integer       wBitsPerSample As Integer       wReserved5 As Integer   End Type   Declare Function mciGetErrorString Lib "winmm.dll" _       Alias "mciGetErrorStringA" (ByVal dwError As Long, _       ByVal lpstrBuffer As String, ByVal uLength As Long) As Long   Declare Function mciSendCommand Lib "winmm.dll" Alias _       "mciSendCommandA" (ByVal wDeviceID As Long, _       ByVal uMessage As Long, ByVal dwParam1 As Long, _       ByRef dwParam2 As Any) As Long				

範例程式碼

下列程式碼將設定輸出裝置。這個程式碼會假設您有多媒體控制項,稱為 「 MMControl1]。要播放 WAV 檔開啟由 MMControl1 之後,應該呼叫此程式碼。
   Dim parms As MCI_WAVE_SET_PARMS    Dim rc As Long    ' Specify the soundcard. This specifies the soundcard with a deviceID    ' of 0. If you have a single soundcard, then this will open it. If you    ' have multiple soundcards, the deviceIDs will be 0, 1, 2, etc.    parms.wOutput = 0    ' Send the MCI command to set the output device.    rc = mciSendCommand(MMControl1.DeviceID, MCI_SET, _        MCI_WAVE_OUTPUT, parms)    if (rc <> MMSYSERR_NOERROR) then        ' The command failed.    End If				
参考
請參閱 mciSendCommand Win32 SDK 文件中的文件。

警告:本文為自動翻譯

內容

文章識別碼:180032 - 最後檢閱時間:11/21/2006 15:40:37 - 修訂: 3.2

Microsoft Win32 Application Programming Interface

  • kbmt kbhowto KB180032 KbMtzh
意見反應