android - 如何以 MPEG-2 TS 输出和 ACC 音频编码格式录制视频

标签 android video-streaming aac android-mediarecorder mpeg2-ts

当我设置视频格式 MPEG-2(常数值 8)TS 和音频格式 ACC(常数值 3)时,它只记录视频而没有 ACC 格式的音频。但它不会给出任何错误。我在 Samsung Galaxy Tab(Honeycomb) 上试过。因为 MPEG-2TS 支持 android 版本 3.0+。如果我使用默认的视频和音频格式,它工作正常。 我怎样才能做到这一点。请帮忙。

if(mCamera == null) {
    mCamera = Camera.open();
    mCamera.unlock();
}


if(mMediaRecorder == null) mMediaRecorder = new MediaRecorder();

mMediaRecorder.setPreviewDisplay(surface);
mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);   
mMediaRecorder.setOutputFormat(8);
mMediaRecorder.setOutputFile("/mnt/sdcard/temp.ts");
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mMediaRecorder.setVideoSize(640, 480);

mMediaRecorder.setVideoEncodingBitRate(500000);
mMediaRecorder.setAudioEncodingBitRate(44100);
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setMaxDuration(-1);   
mMediaRecorder.prepare();

最佳答案

看起来您的问题与音频编码器有关。在 Android 2.3.3(GingerBread) 之前,您必须将编码器设置为 AMR_NB。从 2.3.3 开始,您还可以使用 AMR_WB 和 AAC 作为音频编解码器。

关于android - 如何以 MPEG-2 TS 输出和 ACC 音频编码格式录制视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9851771/

相关文章:

Android 样式,api 级别之间的差异

javascript - navigator.mediaDevices.enumerateDevices() 不在 Firefox 上显示设备标签

ios - 云端视频流不适用于 iOS 设备

javascript - 在 SoundManager2 中播放 AAC 无法启动

mp4 - fmp4文件如何根据AAC帧的ADTS填充esds框?

javascript - 如何在 webview(android)中使用 javascript(或不是 javascript)模拟键盘事件以输入文本区域

android - 如何获取此 git 脚本制作的补丁列表?

iphone - iPhone 中的 AAC header 和其他信息

android - 在 android wear 中处理屏幕暗淡/屏幕锁定

Android:ExoPlayer - 从视频中获取当前帧数