如何设置铃声的持续时间?
How to set duration for a 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();
使用 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,因此在定时器结束时取消铃声。
希望对您有所帮助!
您可以使用线程来停止您的铃声
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();
我想设置铃声的时长。例如我想在播放 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();
使用 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,因此在定时器结束时取消铃声。
希望对您有所帮助!
您可以使用线程来停止您的铃声
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();