录音机小部件不会停止录音



我的应用程序涉及大量的录音,所以我做了一个小部件,以便能够从主屏幕录音。我有一个类Recorder.java在那里我处理所有的MediaRecorder调用。当从活动中进行记录时,一切都很正常。当从widget录制时,它会录制,但在应该录制时不会停止录制。

下面是我用来停止活动的代码:
//r is an instance of Recorder.java
if (r.getState() == Recorder.RECORDING) {
                r.stopRecording();
            }

当小部件中的录音按钮被按下时,它启动一个服务,该服务检查录音机状态。如果r在记录,则停止,如果不是,则开始记录。这个检查是有效的,因为当它录制时,我按下它,我得到一个Toast,应该在之后出现,它停止录制,但它从未停止录制。在服务上,我也使用r.stopRecording();

有什么想法可能是错误的在我的代码?

请在Stop()调用后尝试使用prepare(),并最终释放()MediaRecorder对象

最新更新