如何设置铃声的持续时间?

时间:2016-11-18 17:44:53

标签: android alarm ringtone

我想设置铃声的持续时间。例如,我想在它播放30秒后停止它。你知道怎么做吗?因为铃声没有setDuration方法或类似的东西。

Uri alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
if (alarmUri == null) {
    alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
}
Ringtone ringtone = RingtoneManager.getRingtone(context, alarmUri);
ringtone.play();

2 个答案:

答案 0 :(得分:0)

将countDownTimer用作:

new CountDownTimer(long millisInFuture, long countDownInterval) {

     public void onTick(long millisUntilFinished) {
         mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
     }

     public void onFinish() {
         mTextField.setText("done!");
     }
}.start();

您可以使用onTick和onFinish,因此在计时器结束时取消铃声。

希望这有帮助!

答案 1 :(得分:0)

您可以使用线程来停止铃声

 Thread th = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(30000);  //30000 is for 30 seconds, 1 sec =1000
                    if (ringtone.isPlaying())                      
                     ringtone.stop();   // for stopping the ringtone
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        th.start();
相关问题