2

我必须同时在我的应用程序和音频记录 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)
4

1 回答 1

4

Android 设备所基于的许多平台将打开的音频输入流的数量限制为 1,当您在关闭第一个之前尝试创建另一个时,这会导致异常。

您可以使用 AudioRecord 记录原始 PCM,并将该数据用于将其写入文件(如果这就是“注册我的脚本”的意思)和作为可视化工具的输入。不利的一面是,如果您想保存压缩的音频(例如 mp3),您需要自己在应用程序中处理编码。

于 2012-10-17T13:21:48.120 回答