Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过编程自动静音Android手机的音量?_Android_Audio - Fatal编程技术网

通过编程自动静音Android手机的音量?

通过编程自动静音Android手机的音量?,android,audio,Android,Audio,我正在开发一个可以自动关闭Android手机声音的应用程序。如何检测音量并以编程方式将其关闭 if (hour == myTime.getHour() && minute == myTime.getMinute()) { if (Settings.getSetMyTime(this)) showNotificationAlarm(R.drawable.icon, "It's time to w

我正在开发一个可以自动关闭Android手机声音的应用程序。如何检测音量并以编程方式将其关闭

    if (hour == myTime.getHour() && minute == myTime.getMinute()) {
        if (Settings.getSetMyTime(this))
            showNotificationAlarm(R.drawable.icon,
                    "It's time to work");
                    ///so, i want to add the silet function here..help me, please?
    }

提前感谢。

注册
音频\u服务
,然后使用
音频管理器
控制音量的上升/下降或设置情景模式

或者,如果您想收听音频焦点的更改,则让您的活动
实现AudioManager.OnAudioFocusChangeListener
。重写未实现的方法。创建将处理更改类型的开关

比如:

或者,如果您想收听音频输出的变化,例如拔下耳机(切换到电话扬声器),请使用
操作\u音频\u变得嘈杂
粘性广播

看这里

编辑:这就是解决方案。不需要处理AudioFocus,只需设置不同的振铃器配置文件或调整音量

if (hour == myTime.getHour() && minute == myTime.getMinute()) {
        if (Settings.getSetMyTime(this))
            showNotificationAlarm(R.drawable.icon,
                    "It's time to work");
                    AudioManager audiomanager =(AudioManager)YourActivityName.this.getSystemService(Context.AUDIO_SERVICE);
        audiomanager.setRingerMode(AudioManager.RINGER_MODE_SILENT); //or adjust volume here instead setting silent profile for the ringer
    }

注册
AUDIO\u服务
,然后使用
AudioManager
控制音量的上升/下降或设置情景模式

或者,如果您想收听音频焦点的更改,则让您的活动
实现AudioManager.OnAudioFocusChangeListener
。重写未实现的方法。创建将处理更改类型的开关

比如:

或者,如果您想收听音频输出的变化,例如拔下耳机(切换到电话扬声器),请使用
操作\u音频\u变得嘈杂
粘性广播

看这里

编辑:这就是解决方案。不需要处理AudioFocus,只需设置不同的振铃器配置文件或调整音量

if (hour == myTime.getHour() && minute == myTime.getMinute()) {
        if (Settings.getSetMyTime(this))
            showNotificationAlarm(R.drawable.icon,
                    "It's time to work");
                    AudioManager audiomanager =(AudioManager)YourActivityName.this.getSystemService(Context.AUDIO_SERVICE);
        audiomanager.setRingerMode(AudioManager.RINGER_MODE_SILENT); //or adjust volume here instead setting silent profile for the ringer
    }
请看一下,特别是方法和步骤

编辑

您也可以使用随
setRingerMode

服务
上下文
的子项,因此您可以直接调用
getSystemService

请参阅下面更新的代码(未测试):

请看一下,特别是方法和步骤

编辑

您也可以使用随
setRingerMode

服务
上下文
的子项,因此您可以直接调用
getSystemService

请参阅下面更新的代码(未测试):



有可能赶上时间吗?所以…如果时间是3点,它会使音量静音。。。请帮助我:)为此,您必须创建一个警报。看看AlarmManager,特别是方法SetRepeating我发出了警报,先生,但它只是在通知栏上显示通知。因此,我想再次开发它。使用这个新函数。您必须检索有效的上下文。如果上述代码来自
活动
。您可以直接调用getSystemService(),或者从
视图v
v.getContext().getSystemService(…)
我已经更新了以前的编辑。如果它不起作用,我们可以把它移到聊天室。有可能让它和时间同步吗?所以…如果时间是3点,它会使音量静音。。。请帮助我:)为此,您必须创建一个警报。看看AlarmManager,特别是方法SetRepeating我发出了警报,先生,但它只是在通知栏上显示通知。因此,我想再次开发它。使用这个新函数。您必须检索有效的上下文。如果上述代码来自
活动
。您可以直接调用getSystemService(),或者从
视图v
v.getContext().getSystemService(…)
我已经更新了以前的编辑。如果它不起作用,我们可以把它移到chathi先生,我已经为警报编写了代码来显示通知“该工作了”,所以我想用新功能来再次开发它,可以自动关闭音量。你能帮我吗。。因此,当时间显示为12点时..不仅显示通知,而且还关闭音量。然后使用AudiManager方法
setRingerMode(AudioManager.RINGER\u MODE\u SILENT)
查看上面链接中的配置文件常量和说明,如果关闭音量意味着更改RINGER配置文件。如果这不是您的意思,请使用
adjustVolume()
method如何将AudioManager与我的代码一起使用,先生?(请看上面,先生,我已经编辑了我的问题):)谢谢,先生。。但是,我的工作不是一项活动,先生:(你能帮我吗?然后只传递服务的上下文:Dhi先生,我已经为警报编写了代码,以显示通知“该工作了”,所以我想用新功能再次开发它,它可以自动关闭音量。你能帮我吗。所以,当时间显示为12点时。不仅显示通知,还可以关闭音量。然后使用AudiManager方法
setRingerMode(AudioManager.RINGER\u MODE\u SILENT)
如果关闭音量意味着更改振铃器配置文件,请参见上面链接中的配置文件常量和说明。如果不是这个意思,请使用
adjustVolume()
method如何将AudioManager与我的代码一起使用,先生?(请参见上面,先生,我已编辑了我的问题):)谢谢,先生。。但是,我从事的是服务而不是活动,先生:(你能帮我吗?然后只传递服务的上下文:D
if (hour == myTime.getHour() && minute == myTime.getMinute()) {
        if (Settings.getSetMyTime(this))
            showNotificationAlarm(R.drawable.icon,"It's time to work");
            AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
            am.setRingerMode(AudioManager.RINGER_MODE_SILENT);

}