gpt4 book ai didi

android - MediaRecorder 类设置音频源的问题 - setAudioSource() - 不支持的参数

转载 作者:太空宇宙 更新时间:2023-11-03 10:32:05 25 4
gpt4 key购买 nike

我是 Android 开发的新手,我有下一个问题。

我正在尝试使用 MediaRecorder 类来仅录制来自麦克风的音频。我正在按照官方网站中指示的步骤进行操作:http://developer.android.com/reference/android/media/MediaRecorder.html

所以我有一个方法可以初始化和配置 MediaRecorder 对象以开始录制。这里有代码:


this.mr = new MediaRecorder();
this.mr.setAudioSource(MediaRecorder.AudioSource.MIC);
this.mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
this.mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
this.mr.setOutputFile(this.path + this.fileName);
try {
this.mr.prepare();
} catch (IllegalStateException e) {
Log.d("Syso", e.toString());
e.printStackTrace();
} catch (IOException e) {
Log.d("Syso", e.toString());
e.printStackTrace();
}

当我在模拟器中执行这段代码时,多亏了 logcat,我可以看到方法 setAudioSource(MediaRecorder.AudioSource.MIC) 在被调用时给出了下一个错误(带有标签 audio_ipunt):


ERROR/audio_input(34): unsupported parameter: x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value
ERROR/audio_input(34): VerifyAndSetParameter failed

然后当方法 prepare() 被调用时,我又得到了另一个错误:


ERROR/PVOMXEncNode(34): PVMFOMXEncNode-Audio_AMRNB::DoPrepare(): Got Component OMX.PV.amrencnb handle

如果我通过调用方法 start() 开始记录...我会收到很多消息说:


AudioFlinger(34):RecordThread: buffer overflow

然后...停止并释放后,....我可以看到已经创建了一个文件,但似乎没有很好地记录下来。 Anway,如果我在真实设备上尝试这个,我可以毫无问题地录制,但我不能播放我刚刚录制的内容。

我想关键在于我之前提到的这些错误。我该如何修复它们?有什么建议或帮助吗??

最佳答案

模拟器在录音方面有很多问题。可以说它不起作用。最好的办法是在真实设备中尝试您的代码!!!

关于android - MediaRecorder 类设置音频源的问题 - setAudioSource() - 不支持的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3002537/

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