我必须同时在我的应用程序和audiorecord MediaRecorder中使用。一个注册我的脚本,另一个用于显示声音输入和输入信号的幅度。当我同时使用但独立使用时,我的应用程序崩溃了,但它工作正常。那么你有一个我可以同时使用的解决方案吗???
Trace logCat :
10-16 22:02:08.675: E/MediaRecorder(9007): start failed: -1
10-16 22:02:08.675: W/System.err(9007): java.lang.RuntimeException: start failed.
10-16 22:02:08.675: W/System.err(9007): at android.media.MediaRecorder.start(Native Method)
10-16 22:02:08.675: W/System.err(9007): at com.ax.audio_recorder.viewlvlmicro.SoundMeter.start(SoundMeter.java:40)
10-16 22:02:08.675: W/System.err(9007): at com.ax.audio_record.MainActivity.start(MainActivity.java:177)
10-16 22:02:08.675: W/System.err(9007): at com.ax.audio_record.MainActivity.access$0(MainActivity.java:173)
10-16 22:02:08.680: W/System.err(9007): at com.ax.audio_record.MainActivity$3.onClick(MainActivity.java:154)
10-16 22:02:08.680: W/System.err(9007): at android.view.View.performClick(View.java:2538)
10-16 22:02:08.680: W/System.err(9007): at android.view.View$PerformClick.run(View.java:9152)
10-16 22:02:08.680: W/System.err(9007): at android.os.Handler.handleCallback(Handler.java:587)
10-16 22:02:08.680: W/System.err(9007): at android.os.Handler.dispatchMessage(Handler.java:92)
10-16 22:02:08.680: W/System.err(9007): at android.os.Looper.loop(Looper.java:130)
10-16 22:02:08.680: W/System.err(9007): at android.app.ActivityThread.main(ActivityThread.java:3691)
10-16 22:02:08.680: W/System.err(9007): at java.lang.reflect.Method.invokeNative(Native Method)
10-16 22:02:08.680: W/System.err(9007): at java.lang.reflect.Method.invoke(Method.java:507)
10-16 22:02:08.680: W/System.err(9007): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
10-16 22:02:08.680: W/System.err(9007): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
10-16 22:02:08.680: W/System.err(9007): at dalvik.system.NativeStart.main(Native Method)
最佳答案
Android 设备所基于的许多平台将打开的音频输入流的数量限制为 1,当您尝试在关闭第一个输入流之前创建另一个输入流时,这会导致异常。
您可以使用 AudioRecord 录制原始 PCM,并使用该数据将其写入文件(如果这就是您所说的“注册我的脚本”的意思)以及作为可视化工具的输入。缺点是,如果您想保存压缩的音频(例如 mp3),您需要在应用程序中自行处理编码。
关于android - AudioRecord 和 MediaRecorder Android 并行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12934157/