From 80281e97403fa550e726981ca7c5071f0354a895 Mon Sep 17 00:00:00 2001
From: Dana <Dana_Lee1016@126.com>
Date: 星期二, 27 一月 2026 11:21:39 +0800
Subject: [PATCH] 1.设置数据源:setAudioSource() 和 setVideoSource()(必须在 setOutputFormat 之前) 设置输出格式:setOutputFormat()(必须在 setOutputFile 和编码器之前) 设置输出文件:setOutputFile()(必须在编码器之前) 设置编码器:setAudioEncoder() 和 setVideoEncoder()(必须在 setOutputFormat 之后) 设置编码参数:setAudioEncodingBitRate(), setAudioSamplingRate(), setVideoEncodingBitRate() 等(必须在编码器之后) 准备:prepare()
---
app/src/main/java/com/safeluck/floatwindow/manager/AndroidCameraRecordManager.java | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/app/src/main/java/com/safeluck/floatwindow/manager/AndroidCameraRecordManager.java b/app/src/main/java/com/safeluck/floatwindow/manager/AndroidCameraRecordManager.java
index 98f6fc6..a625b59 100644
--- a/app/src/main/java/com/safeluck/floatwindow/manager/AndroidCameraRecordManager.java
+++ b/app/src/main/java/com/safeluck/floatwindow/manager/AndroidCameraRecordManager.java
@@ -186,15 +186,31 @@
}
// 璁剧疆MediaRecorder
+ // 娉ㄦ剰锛歁ediaRecorder鐨勮缃『搴忛潪甯搁噸瑕侊紝蹇呴』涓ユ牸鎸夌収浠ヤ笅椤哄簭锛�
mediaRecorder = new MediaRecorder();
+
+ // 1. 璁剧疆鏁版嵁婧愶紙蹇呴』鍦╯etOutputFormat涔嬪墠锛�
+ mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
+
+ // 2. 璁剧疆杈撳嚭鏍煎紡锛堝繀椤诲湪setOutputFile鍜岀紪鐮佸櫒涔嬪墠锛�
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
+
+ // 3. 璁剧疆杈撳嚭鏂囦欢锛堝繀椤诲湪缂栫爜鍣ㄤ箣鍓嶏級
mediaRecorder.setOutputFile(currentVideoFile.getAbsolutePath());
+
+ // 4. 璁剧疆缂栫爜鍣紙蹇呴』鍦╯etOutputFormat涔嬪悗锛�
+ mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
+ mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
+
+ // 5. 璁剧疆缂栫爜鍙傛暟锛堝繀椤诲湪缂栫爜鍣ㄤ箣鍚庯級
+ mediaRecorder.setAudioEncodingBitRate(64000); // 64kbps
+ mediaRecorder.setAudioSamplingRate(44100); // 44.1kHz
mediaRecorder.setVideoEncodingBitRate(width * height * 3);
mediaRecorder.setVideoFrameRate(20);
mediaRecorder.setVideoSize(width, height);
- mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
+ // 6. 鍑嗗MediaRecorder
mediaRecorder.prepare();
// 鍒涘缓Surface
--
Gitblit v1.8.0