gpt4 book ai didi

android - MediaRecorder OnInfoListener 给出 895

转载 作者:行者123 更新时间:2023-11-29 00:17:08 25 4
gpt4 key购买 nike

我使用 MediaRecorder 允许用户在我的应用程序中录制音频,并且对于绝大多数用户(以及我所有的测试设备)来说,它工作正常。相关代码如下所示:

mRecorder = new MediaRecorder();

mRecorder.setOnInfoListener(infoListener);

String audioFilePath = mUri.getPath();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setOutputFile(audioFilePath);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mRecorder.setAudioEncodingBitRate(256 * 1024);
mRecorder.setAudioSamplingRate(44100);

mRecorder.setMaxDuration(60000);

try{
mRecorder.prepare();
}catch (IOException ex){
Log.e(TAG, "Prepare() failed", ex);

mTracker.send(new HitBuilders.ExceptionBuilder()
.setDescription("Preparing MediaRecorder in : " + Thread.currentThread().getName()+ ": " + ex.toString())
.setFatal(false)
.build()
);
}
mRecorder.start();

我收到一位用户的报告,他们无法录制音频,他们看到的 toast 消息是我从 MediaRecorder.onInfoListener 中触发的消息。

所以我添加了一些 Google Analytics 并从该监听器中记录一个事件,看看我是否可以追踪到错误:

private MediaRecorder.OnInfoListener infoListener = new MediaRecorder.OnInfoListener() {
@Override
public void onInfo(MediaRecorder mr, int what, int extra) {
mr.stop();
mr.reset();
mr.release();
mr = null;
onRecordingStopped();
Toast.makeText(mContext, R.string.audio_recording_stopped, Toast.LENGTH_SHORT).show();
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Error")
.setAction("AudioStopped")
.setLabel("What: " + what + ", extra: " + extra)
.build());
}
};

如您所见,我正在将“什么”和“额外”参数传递到我的 Analytics(分析)中,这样我就可以看到发生了什么类型的错误。

在我今天早上的分析中(到目前为止只有一天的数据)我看到一些“什么”为 800,我可以在文档中看到达到的最大持续时间,但其他人有895 的“什么”,我在 Media.Recorder 文档中找不到任何引用。

对 895 的含义有什么建议吗?

最佳答案

我遇到了同样的问题。结果在我的设备信息代码 895 上表示正在进行录制。这意味着您无需停止录制。

关于android - MediaRecorder OnInfoListener 给出 895,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25785420/

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