gpt4 book ai didi

android - MediaRecorder.Stop() 在 Galaxy A7、Galaxy A10s 等三星设备上失败

转载 作者:行者123 更新时间:2023-12-03 23:45:43 29 4
gpt4 key购买 nike

我正在使用以下设置来初始化 MediaRecorder .我的应用程序在除三星以外的大多数设备上都能正常运行,并且在 MediaRecorder.stop() 上出现错误.

    recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
recorder.setAudioEncodingBitRate(16*44100);
recorder.setAudioSamplingRate(44100);
它会引发以下错误消息。
java.lang.IllegalStateException: 
at android.media.MediaRecorder._stop (MediaRecorder.java)
at android.media.MediaRecorder.stop (MediaRecorder.java:1440)
at com.appname.stopRecording (add_new.java:4)`
这可能是因为我使用 MIC 作为三星设备的音频源而不是 VOICE_CALL?

最佳答案

尝试这样做。

recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
recorder.setAudioEncodingBitRate(16*44100);
recorder.setAudioSamplingRate(44100);
recorder.prepare();
recorder.start(); // Recording is now started
当你试图停下来时,如果你还没有这样做,就这样做。
recorder.stop();
recorder.reset(); // You can reuse the object by going back to setAudioSource() step
recorder.release(); // Now the object cannot be reused
所以,如果你调用 recorder.stop();在调用 recorder.start() 之前;如果将显示异常。
还请检查您是否在 list 中添加了权限:
<uses-permission android:name="android.permission.RECORD_AUDIO" />

关于android - MediaRecorder.Stop() 在 Galaxy A7、Galaxy A10s 等三星设备上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62919578/

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