我使用AudioRecord API在我的应用中录制音频(WAV),并成功录制。但是当我尝试录制其他录制应用程序在后台运行时,我的应用程序表现得很奇怪。
MediaRecorder API在另一台刻录机正在运行但是AudioRecord API初始化记录器实例并且没有抛出任何异常时尝试开始记录时抛出异常,因此我无法确定是否有任何记录器实例正在运行
这种情况已经在三星S3的默认录音机中处理,当我尝试录制它时说
“无法开始新录制。已录制的其他应用程序”
如何在我的应用程序的录音机启动之前识别是否有其他录音机正在运行?
答案 0 :(得分:6)
我找到了解决这个问题的方法
由于AudioRecord不会抛出与MediaRecorder API不同的任何异常,因此我已经采取了另一种解决方法。
当另一个记录器实例运行时,我发现read方法返回 0 而不是ERROR_INVALID_OPERATION或ERROR_BAD_VALUE。因此,如果第一个读取操作返回 0 ,我会显示错误消息“无法初始化记录器”。