日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android录制和播放PCM数据

發布時間:2024/4/15 Android 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android录制和播放PCM数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PCM是android系統中的原生音頻數據,那么我們如何錄制和播放這個格式的byte[]數據呢?

錄制

錄制很簡單,使用AudioRecord,注意read前一定要先startRecording

var record = AudioRecord(MediaRecorder.AudioSource.VOICE_COMMUNICATION, 16000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, 1280)//這幾個參數分別是 數據來源、采樣率、聲道、格式和緩存buffer大小 record.startRecording() Thread{while (true) {var data = ByteArray(640)record.read(data, 0, 640)...} }.start()

停止錄制調用stop函數,并一定要調用release函數進行資源釋放

播放

播放也簡單,使用AudioTrack,同樣要先play起來再寫數據

var track = AudioTrack(AudioManager.STREAM_VOICE_CALL, 16000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, 1296, AudioTrack.MODE_STREAM)//這幾個參數分別是 流類型(哪種聲音)、采樣率、聲道、格式、緩存buffer大小、模式(靜態數據還是流,byte[]是流) track.play() Thread{while (true) {...track.write(result, 0, length)} }.start()

同樣,播放完要stop并release釋放資源

總結

以上是生活随笔為你收集整理的Android录制和播放PCM数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。