Android 实现静音的几种技术?

风为裳のCode 2013-03-12 11:30:52
前提是手机未root 的情况下,要想实现静音的效果。


private AudioManager myAudioManager = null;

myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

int ringerMode = myAudioManager.getRingerMode(); //记录用户先前的声音模式

myAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);//设置静音

myAudioManager.setRingerMode(ringerMode); //恢复之前的声音模式



以上这种方法实际测试了一下,在拍照的时候,有的手机上有效,有的无效,请问是为什么?

除此之外还有什么别的静音方式没?
...全文
617 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
问答小助手 2013-03-13
  • 打赏
  • 举报
回复
有可能是 sdk 版本的问题,在 Android 中有很多 streams,你希望哪个静音? 试一下下面的代码:
  AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0); // mute music stream
    audioManager.setStreamVolume(AudioManager.STREAM_RING, 0, 0); // mute ring stream
    if (Build.VERSION.SDK_INT >= 8) {
        audioManager.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
        audioManager.requestAudioFocus(null, AudioManager.STREAM_RING, AudioManager.AUDIOFOCUS_GAIN);
    }
风为裳のCode 2013-03-12
  • 打赏
  • 举报
回复
自己顶一下吧。

80,475

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧