我的应用程序涉及大量录音,因此我制作了一个小部件,可以从主屏幕录制。 我有一个类Recorder.java,我处理所有的MediaRecorder调用。 从活动录制时,一切正常。从小部件录制时,它会记录,但不会停止录制。
以下是我用来停止活动的代码:
//r is an instance of Recorder.java
if (r.getState() == Recorder.RECORDING) {
r.stopRecording();
}
当按下窗口小部件中的录制按钮时,它会启动一项检查录制器状态的服务。如果r正在录制则会停止,如果不是则会开始录制。这种检查有效,因为当它的录音和我按下它时,我会得到一个在停止录制后应该出现的Toast,但它永远不会停止录制。
在服务上我也使用r.stopRecording();
我的代码中可能有什么问题?
答案 0 :(得分:0)
请在调用prepare()
之后使用Stop()
,并在最后一次发布时使用MediaRecorder
对象