waveOutOpen 函數介紹

來源:互聯網
上載者:User

(from MSDN)

這個函數開啟一個給定的波形音訊輸出裝置來進行回放。

(The waveOutOpen function opens the given waveform-audio output device for playback)

原型如下:

MMRESULT waveOutOpen(

      LPHWAVEOUT      phwo,      

      UINT_PTR        uDeviceID, 

      LPWAVEFORMATEX pwfx,      

      DWORD_PTR       dwCallback,

      DWORD_PTR       dwCallbackInstance,

      DWORD           fdwOpen    

);

參數介紹(paramters):

phwo

一個指向接收波形音訊輸出裝置柄的緩衝器。用柄來區別(identify

)裝置當呼叫別的波形裝置輸出裝置。如果fdwOpen被設定為WAVE_FORMAT_QUER

Y,那麼這個參數可能為NULL 。

uDevideID

將要被開啟的波形音訊輸出裝置的ID ,它可以是一個裝置ID,也可以

是一個已經開啟的波形音頻輸入裝置柄,你可以用以下的值來貨替:

值                               含義

WAVE_MAPPER   該函數選一個能夠播放給定格式的波形音訊輸出裝置

pwfx                            一個指向區別將被送到裝置的音頻資料格式的WAVEFORMATEX結構的指標,你可以FREE這個結構當你一將其傳到waveOutOpen 函數;

dwCallback

它指向一個特定的CALLBACK函數,事件柄,視窗柄,或一個將在波形

音頻回放時以便處理與回放進度相關的訊息的期間呼叫的線程ID,如果無須CALL

BACK函數,可以將其設為0 。更多請參看waveOutProc

dwCallbackInstance 

傳遞到CALLBACK進程的使用者執行個體資料。如果是視窗CALLBACK進程的話,該參數不用(設為0)

fwOpen

用來開啟裝置的標識(FLAGS),它們的定義如下:

值     含義

CALLBACK_EVENT    dwCallback 參數欄是事件柄

CALLBACK_FUNCTION   dwCallback 參數欄是CALLBACK過程地址

CALLBACK_NULL    預設的設定,即無CALLBACK進程

CALLBACK_THREAD    dwCallback 參數欄是線程ID

CALLBACK_WINDOW    dwCallback 參數欄是視窗柄

WAVE_ALLOWSYNC    如果該項被設定,一個同步的裝

置能被開啟。如果在開啟一個同步驅動時沒有用該項,裝置開啟將會失敗。

WAVE_FORMAT_DIRECT   如果設定該項,the ACM driver

does not perform conversions on the audio data.

WAVE_FORMAT_QUERY   如果設定該項,waveOutOpen 詢

問裝置來決定是否支援給定的格式,但裝置實際上並沒有被開啟。

WAVE_MAPPED    該項被設定後uDeviceID參數表示

一個被聲波映射裝置映射的波形裝置。

傳回值:

成功後返回MMSYSERR_NOERROR ,否則返回以下值:

值     描述

MMSYSERR_ALLOCATED   表示資源已存在

MMSYSERR_BADDEVICEID   裝置ID超出範圍

MMSYSERR_NODRIVER   沒有驅動

MMSYSERR_NOMEM    不能分配記憶體

WAVERR_BADFORMAT   企圖開啟一個不被支援的格式

WAVERR_SYNC    裝置是可同步的,但waveOutOpen

沒用有WAVE_ALLOWSYNC呼叫。

註:

用waveOutGetNumDevs

函數測定在當前系統中輸出裝置的數目。如果uDeviceIC參數項是一個裝置ID,

它將會表示從0 到總的數目,WAAVE_MAPPER常量也可以用作裝置ID。

pwfc所指的結構能夠擴充到包含某些資料格式的特殊資訊,例如,對

於PCM資料,一個額外的UNIT

類型用來表示取樣的位元目。在這個情況下用PCMWAVEFORAMT結構。對於其它的

格式,用WAVEFORMATEX結構來表示額外的資料長度。

如果你選用的是一個視窗或線程來接收CALLBACK資訊,如下的資訊將

會被送到視窗處理函數中,來表明波形音訊輸出進程:MM_WOM_OPEN

,MM_WOM_CLOSE ,和MM_WOM_DONE ,

如果你選用的是一個函數來接收CALLBACK資訊,如下的資訊將會被傳

到函數中,來顯示波形音訊輸出進程:WOM_OPEN ,WOM_CLOSE ,WOM_DONE.

   

要求:

   Windows NT/2000/XP: Included in Windows NT 3.1 and later.

   Windows 95/98/Me: Included in Windows 95 and later.

   Header: Declared in Mmsystem.h; include Windows.h.

   Library: Use Winmm.lib.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.