<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # QAudioInput Class Reference ## [[QtMultimedia](index.htm) module] 該QAudioInput類提供用于從音頻輸入設備接收音頻數據的接口。[More...](#details) 繼承[QObject](qobject.html)。 ### Methods * `__init__ (self, QAudioFormat?format?=?QAudioFormat(), QObject?parent?=?None)` * `__init__ (self, QAudioDeviceInfo?audioDevice, QAudioFormat?format?=?QAudioFormat(), QObject?parent?=?None)` * `int bufferSize (self)` * `int bytesReady (self)` * `int elapsedUSecs (self)` * `QAudio.Error error (self)` * `QAudioFormat format (self)` * `int notifyInterval (self)` * `int periodSize (self)` * `int processedUSecs (self)` * `reset (self)` * `resume (self)` * `setBufferSize (self, int?bytes)` * `setNotifyInterval (self, int?milliSeconds)` * `start (self, QIODevice?device)` * `QIODevice start (self)` * `QAudio.State state (self)` * `stop (self)` * `suspend (self)` ### Qt Signals * `void notify ()` * `void stateChanged (QAudio::State)` * * * ## Detailed Description 該QAudioInput類提供用于從音頻輸入設備接收音頻數據的接口。 可以構造與系統的音頻輸入[default audio input device](qaudiodeviceinfo.html#defaultInputDevice)。它也可能與特定的創建QAudioInput[QAudioDeviceInfo](qaudiodeviceinfo.html)。當您創建了音頻輸入,你也應該送的[QAudioFormat](qaudioformat.html)用于記錄(見[QAudioFormat](qaudioformat.html)類描述詳情) 。 要錄制到一個文件: QAudioInput讓您錄制音頻,音頻輸入設備。這個類的默認構造函數將使用系統默認的音頻設備,但您也可以指定一個[QAudioDeviceInfo](qaudiodeviceinfo.html)對于特定的設備。您還需要通過在[QAudioFormat](qaudioformat.html)要在其中進行錄制。 啟動了QAudioInput是簡單地調用的問題[start](qaudioinput.html#start)( )與[QIODevice](qiodevice.html)打開以進行寫入。例如,記錄到一個文件中,您可以: ``` [QFile](qfile.html) outputFile; // class member. QAudioInput *audioInput; // class member. ... void startRecording() { outputFile.setFileName("/tmp/test.raw"); outputFile.open( [QIODevice](qiodevice.html).WriteOnly | [QIODevice](qiodevice.html).Truncate ); [QAudioFormat](qaudioformat.html) format; // set up the format you want, eg. format.setFrequency(8000); format.setChannels(1); format.setSampleSize(8); format.setCodec("audio/pcm"); format.setByteOrder([QAudioFormat](qaudioformat.html).LittleEndian); format.setSampleType([QAudioFormat](qaudioformat.html).UnSignedInt); [QAudioDeviceInfo](qaudiodeviceinfo.html) info = [QAudioDeviceInfo](qaudiodeviceinfo.html).defaultInputDevice(); if (!info.isFormatSupported(format)) { qWarning()<<"default format not supported try to use nearest"; format = info.nearestFormat(format); } audioInput = new QAudioInput(format, this); [QTimer](qtimer.html).singleShot(3000, this, SLOT(stopRecording())); audioInput->start(&outputFile); // Records audio for 3000ms } ``` 如果指定的格式是支持的輸入設備即會開始拍攝(你可以通過檢查[QAudioDeviceInfo.isFormatSupported](qaudiodeviceinfo.html#isFormatSupported)( ) 。萬一有任何障礙,則使用[error](qaudioinput.html#error)( )函數來檢查哪里出了問題。我們在停止錄制`stopRecording()`插槽。 ``` void stopRecording() { audioInput->stop(); outputFile.close(); delete audioInput; } ``` 在任何時間點, QAudioInput將在四種狀態之一:主動,暫停,停止或閒置。這些狀態是由指定的[QAudio.State](qaudio.html#State-enum)枚舉。您可以直接通過請求狀態變化[suspend](qaudioinput.html#suspend)( )[resume](qaudioinput.html#resume)( )[stop](qaudioinput.html#stop)( )[reset](qaudioinput.html#reset)()和[start](qaudioinput.html#start)( ) 。當前狀態被報告的[state](qaudioinput.html#state)( ) 。[QAudioOutput](qaudiooutput.html)也將標志著你當狀態變化([stateChanged](qaudioinput.html#stateChanged)())。 QAudioInput提供測量時間的幾種方法以來已經經過的[start](qaudioinput.html#start)記錄的() 。該`processedUSecs()`函數返回流的長度以書面微秒,即,它留下了時代的音頻輸入被暫停或閒置。該[elapsedUSecs](qaudioinput.html#elapsedUSecs)( )函數返回自所經過的時間[start](qaudioinput.html#start)( )被調用,無論哪種狀態下QAudioInput已經英寸的 如果發生錯誤,您可以獲取其原因與[error](qaudioinput.html#error)( ) 。可能的錯誤的原因是由所描述的[QAudio.Error](qaudio.html#Error-enum)枚舉。該QAudioInput將進入[StoppedState](qaudio.html#State-enum)當遇到錯誤。連接到[stateChanged](qaudioinput.html#stateChanged)( )信號來處理錯誤: ``` void stateChanged([QAudio](qaudio.html).State newState) { switch(newState) { case [QAudio](qaudio.html).StoppedState: if (audioInput->error() != [QAudio](qaudio.html).NoError) { // Perform error handling } else { } break; ``` ### Symbian Platform Security Requirements 在Symbian ,它使用這個類的進程必須有`UserEnvironment`平臺的安全能力。如果客戶端程序缺乏這種能力,調用任過載[start](qaudioinput.html#start)( )將失敗。此故障是由QAudioInput對象設置表示其[error](qaudioinput.html#error)( )值[QAudio.OpenError](qaudio.html#Error-enum)然后散發出[stateChanged](qaudioinput.html#stateChanged)([QAudio.StoppedState](qaudio.html#State-enum))信號。 平臺的安全功能是通過添加[TARGET.CAPABILITY](index.htm#target-capability)qmake的變量。 * * * ## Method Documentation ``` QAudioInput.__init__ (self, QAudioFormat?format?=?QAudioFormat(), QObject?parent?=?None) ``` 該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。 構造一個新的音頻輸入,并將它附加到_parent_。默認的音頻輸入設備是用來與輸出_format_參數。 ``` QAudioInput.__init__ (self, QAudioDeviceInfo?audioDevice, QAudioFormat?format?=?QAudioFormat(), QObject?parent?=?None) ``` 該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。 構造一個新的音頻輸入,并將它附加到_parent_。通過引用的設備_audioDevice_用于與所述輸入_format_參數。 ``` int QAudioInput.bufferSize (self) ``` 返回以毫秒為單位的音頻緩沖器的大小。 如果之前調用[start](qaudioinput.html#start)( ) ,返回平臺的默認值。如果之前調用[start](qaudioinput.html#start)(),但[setBufferSize](qaudioinput.html#setBufferSize)( )之前被調用,返回值被設置[setBufferSize](qaudioinput.html#setBufferSize)( ) 。如果所謂的后[start](qaudioinput.html#start)()時,返回所使用的實際的緩沖區大小。這可能不是通過預先設定的[setBufferSize](qaudioinput.html#setBufferSize)( ) 。 **See also** [setBufferSize](qaudioinput.html#setBufferSize)( ) 。 ``` int QAudioInput.bytesReady (self) ``` 返回的音頻數據提供給讀出以字節為單位的量。 注:返回值是唯一有效的,而在[QAudio.ActiveState](qaudio.html#State-enum) or [QAudio.IdleState](qaudio.html#State-enum)狀態,否則返回零。 ``` int QAudioInput.elapsedUSecs (self) ``` 返回微秒,因為[start](qaudioinput.html#start)( )被調用,包括時間,空閒和待機狀態。 ``` QAudio.Error QAudioInput.error (self) ``` [ 返回的錯誤狀態。 ](qaudio.html#Error-enum) ``` QAudioFormat QAudioInput.format (self) ``` [](qaudioformat.html) [返回](qaudioformat.html)[QAudioFormat](qaudioformat.html)被使用。 ``` int QAudioInput.notifyInterval (self) ``` 返回以毫秒為單位的通知時間間隔。 **See also** [setNotifyInterval](qaudioinput.html#setNotifyInterval)( ) 。 ``` int QAudioInput.periodSize (self) ``` 返回以字節為單位的周期大小。 注:這是在字節讀取的所建議的大小。 ``` int QAudioInput.processedUSecs (self) ``` 返回音頻數據的自處理的量[start](qaudioinput.html#start)( )被調用以微秒為單位。 ``` QAudioInput.reset (self) ``` 滴在緩沖區所有的音頻數據,緩沖區復位到零。 ``` QAudioInput.resume (self) ``` 恢復后處理音頻數據[suspend](qaudioinput.html#suspend)( ) 。 Sets [error](qaudioinput.html#error)()來[QAudio.NoError](qaudio.html#Error-enum)。套[state](qaudioinput.html#state)()來[QAudio.ActiveState](qaudio.html#State-enum)如果您以前調用start ([QIODevice](qiodevice.html)*)。套[state](qaudioinput.html#state)()來[QAudio.IdleState](qaudio.html#State-enum)如果您以前叫[start](qaudioinput.html#start)( ) 。發射[stateChanged](qaudioinput.html#stateChanged)()信號。 ``` QAudioInput.setBufferSize (self, int?bytes) ``` 設置音頻緩沖區的大小為_value_毫秒。 注:此功能可以在任何時候之前調用[start](qaudioinput.html#start)( ) ,調用此之后將被忽略[start](qaudioinput.html#start)( ) 。它不應該被假定緩沖區的大小設置為實際使用的緩沖區大小,調用[bufferSize](qaudioinput.html#bufferSize)()后隨時[start](qaudioinput.html#start)()將返回所用的實際的緩沖區大小。 **See also** [bufferSize](qaudioinput.html#bufferSize)( ) 。 ``` QAudioInput.setNotifyInterval (self, int?milliSeconds) ``` 設置的時間間隔[notify](qaudioinput.html#notify)()信號被發射。這是基于_ms_處理不實際的實時音頻數據。定時器的最小分辨率為特定平臺和值應進行檢查[notifyInterval](qaudioinput.html#notifyInterval)( )確認正在使用的實際值。 **See also** [notifyInterval](qaudioinput.html#notifyInterval)( ) 。 ``` QAudioInput.start (self, QIODevice?device) ``` 使用_device_作為[QIODevice](qiodevice.html)來傳輸數據。傳遞[QIODevice](qiodevice.html)允許數據被無任何額外的代碼傳輸。所有需要的是打開[QIODevice](qiodevice.html)。[QAudioInput](qaudioinput.html)不采取所有權_device_。 該[QAudioInput](qaudioinput.html)將數據寫入設備時,新的數據是可用的。你可以繼承[QIODevice](qiodevice.html)并重新實現[writeData()](qiodevice.html#writeData)如果你想訪問的數據。如果您只是想將數據保存到一個文件中,你可以通過一個[QFile](qfile.html)此功能。 如果能夠成功地獲得音頻數據從系統音頻設備[state](qaudioinput.html#state)()被設置為[QAudio.ActiveState](qaudio.html#State-enum) or [QAudio.IdleState](qaudio.html#State-enum),[error](qaudioinput.html#error)( )被設置為[QAudio.NoError](qaudio.html#Error-enum)和[stateChanged](qaudioinput.html#stateChanged)()信號被發射。 如果在這個過程中發生問題的[error](qaudioinput.html#error)( )被設置為[QAudio.OpenError](qaudio.html#Error-enum),[state](qaudioinput.html#state)( )被設置為[QAudio.StoppedState](qaudio.html#State-enum)和[stateChanged](qaudioinput.html#stateChanged)()信號被發射。 [QAudioInput#Symbian Platform Security Requirements](qaudioinput.html#symbian-platform-security-requirements) **See also** [QIODevice](qiodevice.html)。 ``` QIODevice QAudioInput.start (self) ``` [](qiodevice.html) [返回一個指針,一個新的](qiodevice.html)[QIODevice](qiodevice.html)將用于處理數據傳輸。這[QIODevice](qiodevice.html)可用于[read()](qiodevice.html#read)音頻數據直接。你通常會連接到[readyRead()](qiodevice.html#readyRead)信號,并從該設備中的時隙讀取您連接到。[QAudioInput](qaudioinput.html)保持設備的所有權。 如果能夠訪問該系統音頻設備的[state](qaudioinput.html#state)( )被設置為[QAudio.IdleState](qaudio.html#State-enum),[error](qaudioinput.html#error)( )被設置為[QAudio.NoError](qaudio.html#Error-enum)和[stateChanged](qaudioinput.html#stateChanged)()信號被發射。 如果在這個過程中發生問題的[error](qaudioinput.html#error)( )被設置為[QAudio.OpenError](qaudio.html#Error-enum),[state](qaudioinput.html#state)( )被設置為[QAudio.StoppedState](qaudio.html#State-enum)和[stateChanged](qaudioinput.html#stateChanged)()信號被發射。 [QAudioInput#Symbian Platform Security Requirements](qaudioinput.html#symbian-platform-security-requirements) **See also** [QIODevice](qiodevice.html)。 ``` QAudio.State QAudioInput.state (self) ``` [ 返回音頻處理的狀態。 ``` QAudioInput.stop (self) ``` 停止音頻輸入,從系統資源分離。 ](qaudio.html#State-enum) [Sets](qaudio.html#State-enum) [error](qaudioinput.html#error)()來[QAudio.NoError](qaudio.html#Error-enum),[state](qaudioinput.html#state)()來[QAudio.StoppedState](qaudio.html#State-enum)并放出[stateChanged](qaudioinput.html#stateChanged)()信號。 ``` QAudioInput.suspend (self) ``` 停止處理的音頻數據,保存緩沖音頻數據。 Sets [error](qaudioinput.html#error)()來[QAudio.NoError](qaudio.html#Error-enum),[state](qaudioinput.html#state)()來[QAudio.SuspendedState](qaudio.html#State-enum)并放出[stateChanged](qaudioinput.html#stateChanged)()信號。 * * * ## Qt Signal Documentation ``` void notify () ``` 這是該信號的默認超載。 當音頻數據x毫秒已被處理的時間間隔由setNotifyInterval ( x)的設置這個信號被發射。 ``` void stateChanged (QAudio::State) ``` 這是該信號的默認超載。 這個信號被發射時,該設備_state_已經改變。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看