audiorecord怎么释放_java-将AudioRecord.getState()放入循环是否有用?
当您查看源代码时,将非常清楚:public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat,int bufferSizeInBytes)throws IllegalArgumentException {mState = STATE_UNINITIALIZED;mRecording
当您查看源代码时,将非常清楚:
public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat,
int bufferSizeInBytes)
throws IllegalArgumentException {
mState = STATE_UNINITIALIZED;
mRecordingState = RECORDSTATE_STOPPED;
... //parameter checks
// native initialization
//update native initialization when information about hardware init failure
//due to capture device already open is available.
int initResult = native_setup( new WeakReference(this),
mRecordSource, mSampleRate, mChannels, mAudioFormat, mNativeBufferSizeInBytes);
if (initResult != SUCCESS) {
loge("Error code "+initResult+" when initializing native AudioRecord object.");
return; // with mState == STATE_UNINITIALIZED
}
mState = STATE_INITIALIZED;
}
因此,您不必等待其状态转换.调用构造函数一次后,只需检查状态.如果native_setup中有任何错误,则状态将为STATE_UNINITIALIZED.
更多推荐
所有评论(0)