我想设置铃声的持续时间。例如,我想在它播放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();
答案 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();