柚子快報邀請碼778899分享:Android 錄音功能開發(fā)
柚子快報邀請碼778899分享:Android 錄音功能開發(fā)
1、申請權(quán)限
?
2、開始錄音?
?
//開始計時錄音
@SuppressLint("MissingPermission")
// @SuppressLint("ClickableViewAccessibility")
private void startRecording() {
recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
RECORDER_SAMPLERATE, RECORDER_CHANNELS_SINGLE, RECORDER_AUDIO_ENCODING, bufferSize);
recorder.startRecording();
isRecording = true;
recordingThread = new Thread(new Runnable() {
@Override
public void run() {
writeAudioDataToFile();
}
}, "AudioRecorder Thread");
recordingThread.start();
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、?
private void writeAudioDataToFile() {
byte data[] = new byte[bufferSize];
String filename = getTempFilename();
strFileName = getTime();
LgqLogPlus.d("開始錄音地址===== "+filename);
FileOutputStream os = null;
try {
os = new FileOutputStream(filename);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
int read = 0;
if (null != os) {
while (isRecording) {
read = recorder.read(data, 0, bufferSize);
if (AudioRecord.ERROR_INVALID_OPERATION != read) {
try {
os.write(data);
} catch (IOException e) {
e.printStackTrace();
}
}
}
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
?3、結(jié)束錄音
?
private void stopRecording() {
if (null != recorder) {
isRecording = false;
recorder.stop();
recorder.release();
isSend = true;
recorder = null;
recordingThread = null;
}
copyWaveFile(getTempFilename(), getFilename());
deleteTempFile();
}
?
4、長按錄音,放起結(jié)束錄音?
View.OnTouchListener onTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int iAction = event.getAction();
if (iAction == MotionEvent.ACTION_UP) {//抬起結(jié)束錄音
LgqLogPlus.e("抬起結(jié)束錄音");
if(isRecording){
isRecording = false;
stopRecording();
strFilePath = getFilename();//最終語言路徑
spMap.clear();
spMap.put(1, sp.load(getFilename(), 1));
}
}else if (iAction == MotionEvent.ACTION_DOWN){//按住開始錄音
LgqLogPlus.e("按住開始錄音");
if(!isRecording){
isRecording = true;
startRecording();
}
return true;
}
return false;
}
};
?demo連接:https://download.csdn.net/download/meixi_android/86737564
柚子快報邀請碼778899分享:Android 錄音功能開發(fā)
精彩內(nèi)容
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。