Android實現(xiàn)直接播放麥克風采集到的聲音
本文實例講述了Android實現(xiàn)直接播放麥克風采集到的聲音。分享給大家供大家參考。具體如下:
這是一個直接播放麥克風采集到的聲音線程類:
class RecordThread extends Thread{ static final int frequency = 44100; static final int channelConfiguration = AudioFormat.CHANNEL_CONFIGURATION_MONO; static final int audioEncoding = AudioFormat.ENCODING_PCM_16BIT; @Override public void run() { // TODO Auto-generated method stub int recBufSize = AudioRecord.getMinBufferSize(frequency, channelConfiguration, audioEncoding)*2; int plyBufSize = AudioTrack.getMinBufferSize(frequency, channelConfiguration, audioEncoding)*2; AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, frequency, channelConfiguration, audioEncoding, recBufSize); AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, frequency, channelConfiguration, audioEncoding, plyBufSize, AudioTrack.MODE_STREAM); byte[] recBuf = new byte[recBufSize]; audioRecord.startRecording(); audioTrack.play(); while(true){ int readLen = audioRecord.read(recBuf, 0, recBufSize); audioTrack.write(recBuf, 0, readLen); } audioTrack.stop(); audioRecord.stop(); } }
使用的時候,這樣就行:
rec.start();
需要在AndroidManifest.xml文件中添加路由權(quán)限:
希望本文所述對大家的Android程序設(shè)計有所幫助。
相關(guān)文章
Android使用google breakpad捕獲分析native cash
這篇文章主要介紹了Android使用google breakpad捕獲分析native cash 的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04Android編程實現(xiàn)帶有單選按鈕和復選按鈕的dialog功能示例
這篇文章主要介紹了Android編程實現(xiàn)帶有單選按鈕和復選按鈕的dialog功能,結(jié)合具體實例形式分析了Android實現(xiàn)帶有單選按鈕的dialog對話框及帶有復選按鈕的dialog對話框相關(guān)操作技巧,需要的朋友可以參考下2017-09-09Android編程實現(xiàn)自定義系統(tǒng)菜單背景的方法
這篇文章主要介紹了Android編程實現(xiàn)自定義系統(tǒng)菜單背景的方法,涉及Android菜單menu的實現(xiàn)及背景圖片的相關(guān)操作技巧,需要的朋友可以參考下2016-01-01Android連接MySQL數(shù)據(jù)庫并進行增刪改查操作示例講解
這篇文章主要介紹了Android 連接MySQL數(shù)據(jù)庫并進行增刪改查操作示例講解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08Android編程實現(xiàn)夜間模式的方法小結(jié)
這篇文章主要介紹了Android編程實現(xiàn)夜間模式的方法,涉及Android亮度調(diào)節(jié)、自定義Theme、遮罩模式等相關(guān)使用技巧,需要的朋友可以參考下2018-01-01