如何通过MediaRecorder.start()静音“嘟嘟”?

我已经尝试了以下链接中提到的所有方法

如何关闭MediaRecorder在状态更改时播放的声音

当状态改变时,需要关闭MediaRecorder播放的声音

但他们都没有工作。

任何人都知道如何做到这一点?


虽然我迟迟不回答。 它可能仍然有助于所有人都在搜索同样的问题。

开始媒体记录之前添加以下两行代码..它会静音手机的声音..

//mute phone
 AudioManager audioManager = (AudioManager) context.getSystemService(AUDIO_SERVICE);
 audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
 mediaRecorder.start();

启动媒体记录器后等待一两秒钟,并取消静音手机,你可以使用以下可运行...

new Thread(new UnmuterThread()).start();


 //timer thread to un-mute phone after 1 sec
//This is runnable inner class inside your activity/service
class UnmuterThread implements Runnable{

    @Override
    public void run() {
        synchronized (this){
            try {
                wait(1000);
            } catch (InterruptedException e) {
            } finally {
                //unmute the phone
                AudioManager audioManager1 = (AudioManager) context.getSystemService(AUDIO_SERVICE);
                audioManager1.setRingerMode(AudioManager.RINGER_MODE_NORMAL);                                   }
        }
    }
}
链接地址: http://www.djcxy.com/p/23925.html

上一篇: how to mute the "beep" by MediaRecorder.start()?

下一篇: Is there a Pattern for dealing with mainframe data?