2013-08-23 24 views
0

我正在使用Android中的AudioRecord類創建一些應用程序。 有人可能已經問過同樣的問題。但是,我很欣賞任何見解。睡眠期間的音頻重新編碼 - Android

我記錄的 「聲音」 這樣的:

recorder.startRecording(); 
Thread.sleep(10000); 
recorder.read(buffer, 0, bufferSize); 
recorder.stop(); 

「錄音機」 是 「AudioRecord」 類的一個實例。

我可以用這段代碼獲取數據,但是,我不確定以這種方式收集的數據是否可靠。

此代碼的意圖是停止程序&錄製聲音10秒鐘。

所以,問題是如果這種方法可以得到正確的語音數據?

謝謝

回答

1

使用AudioRecord,你需要爲了排出填充記錄緩衝不斷打電話read

http://developer.android.com/reference/android/media/AudioRecord.html#read(byte[], int, int)

如果你不讀,緩衝區可以得到溢出,然後你就會失去你的語音數據。

+0

謝謝你的迴應,好的。我想澄清。我編輯我的問題。而且,在我目前的代碼中,在「Thread.sleep(10000);」之後,我讓程序通過「recorder.read(buffer,0,bufferSize);」讀取數據。你的意思是這不正確?好。無論如何,我會閱讀該文件。謝謝! – user2533493

+0

這是不正確的,因爲在10秒的延遲期間,記錄儀已經轉儲了大量數據,因爲您沒有讀取它。錄製需要是實時的高優先級操作,否則內部緩衝區將不會保留您的數據。 – SirKnigget