3.27
安卓应用中的音视频处理实战
在多媒体应用需求日益增长的当下,掌握安卓中的音视频处理技术至关重要。Android 提供了 MediaPlayer、MediaRecorder 等核心类用于音频和视频的播放与录制。
- 音频播放与录制
使用 MediaPlayer 播放音频文件:
MediaPlayer mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(context, Uri.parse("android.resource://" + context.getPackageName() + "/" + R.raw.audio_file));
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
使用 MediaRecorder 录制音频:
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setOutputFile(Environment.getExternalStorageDirectory() + "/recorded_audio.3gp");
try {
mediaRecorder.prepare();
mediaRecorder.start();
} catch (IOException e) {
e.printStackTrace();
}
- 视频播放与录制
使用 VideoView 播放视频:
<VideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
VideoView videoView = findViewById(R.id.video_view);
videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video_file));
videoView.setMediaController(new MediaController(this));
videoView.requestFocus();
videoView.start();
使用 MediaRecorder 录制视频:
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder.setOutputFile(Environment.getExternalStorageDirectory() + "/recorded_video.mp4");
try {
mediaRecorder.prepare();
mediaRecorder.start();
} catch (IOException e) {
e.printStackTrace();
}
浙公网安备 33010602011771号