gpt4 book ai didi

android - 并行使用MediaRecorder.AudioSource.CAMCORDER

转载 作者:行者123 更新时间:2023-12-03 02:32:27 24 4
gpt4 key购买 nike

我有一些奇怪的问题,无法找到答案。
我使用wowza进行直播。它在AudioRecord recorder = new AudioRecord(this.mAudioSource, ... )内部使用,默认情况下为mAudioSource = 5(类似于MediaRecorder.AudioSource.CAMCORDER),效果很好,但同时我需要在设备内存中以更高的视频质量录制此视频。

对于内部记录,我使用MediaRecorder。

        mWZCameraView.getCamera().getPlatformDevice().unlock();

mMediaRecorder = new MediaRecorder();
mMediaRecorder.setCamera(mWZCameraView.getCamera().getPlatformDevice());

//mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);

mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

//mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);

mMediaRecorder.setVideoEncodingBitRate(15000000);
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setVideoSize(1920, 1080);

try {
mMediaRecorder.prepare();
} catch (Exception e) {
// This is thrown if the previous calls are not called with the
// proper order
e.printStackTrace();
} finally {
mMediaRecorder.start();
}

如您在注释中看到的 setAudioSource所示,在这种情况下,实时视频获取音频,而设备上的视频则不会获取音频。如果打开 setAudioSourcesetAudioEncoder,我的实时视频将没有音频记录,并在带有音频的设备上。

我尝试了AudioSource和AudioEncoder的不同组合,但始终在其中一个视频中进行音频记录。

如果可以并行使用CAMCORDER,我找不到答案。

PS。我知道有关通过字节在另一个文件中记录音频并将其合并的选项,但是并不是那么容易,我会尝试最后一个选项。

最佳答案

看来我找到了答案,也许会对某人有所帮助。此处写答案:https://stackoverflow.com/a/12935309/7917629,“Android设备基于将打开的音频输入流的数量限制为1”。

Wowza在audioRecorder内部用于获取音频,当我将其添加到mediaRecorder setAudioSource时,它也尝试使用audioRecorder。
因此,该选项将回调设置为类似于mWZAudioDevice.registerAudioSampleListener(new WZAudioDevice.AudioSampleListener())的wowza,以从audioRecord获取byte []。

关于android - 并行使用MediaRecorder.AudioSource.CAMCORDER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52076867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com