实现此功能:随机铃声
随机时间,从下面序列中随机抽取:
0、10s、20s、30s、1m、3m、6m、9m、13m、16m、19m、23m、26m、29m、33m、36m、39m、43m、46m、49m、53m、56m、59m
随机铃声,在多个本地铃声中抽取,铃声已在 /sdcard/A_Hzz/Sound 目录下
运行效果如下:随机抽取序列中的时间倒计时,倒计时结束后,随机抽取铃声播放,自动循环这样的过程。
回答
// 文档地址 https://docs.hamibot.com/
// 播放铃声函数
function playSound(path) {
// 使用系统播放器播放音频
var intent = "android.media.action.VIDEO_CAPTURE";
var uri = "file://" + path;
var i = intents.getIntent("android.intent.action.VIEW", uri, "audio/*");
if (i) {
app.startActivity(i);
} else {
toast("无法播放音频文件: " + path);
}
}
// 获取指定目录下的所有音频文件
function getSounds(directory) {
var files = files.listDir(directory);
var sounds = [];
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (files.isFile(file) && (file.endsWith(".mp3") || file.endsWith(".wav"))) {
sounds.push(file);
}
}
return sounds;
}
// 随机时间序列
var timeSequence = ["0", "10s", "20s", "30s", "1m", "3m", "6m", "9m", "13m", "16m", "19m", "23m", "26m", "29m", "33m", "36m", "39m", "43m", "46m", "49m", "53m", "56m", "59m"];
// 获取本地铃声
var soundDirectory = "/sdcard/A_Hzz/Sound";
var sounds = getSounds(soundDirectory);
if (sounds.length === 0) {
toast("没有找到任何铃声文件");
exit();
}
// 循环执行
while (true) {
// 随机选择一个时间
var randomTime = timeSequence[Math.floor(Math.random() * timeSequence.length)];
// 解析时间
var timeInSecond = 0;
if (randomTime.endsWith("s")) {
timeInSecond = parseInt(randomTime) / 1000;
} else if (randomTime.endsWith("m")) {
timeInSecond = parseInt(randomTime) * 60;
} else {
timeInSecond = parseInt(randomTime);
}
// 倒计时
toast("倒计时: " + randomTime);
sleep(timeInSecond * 1000);
// 随机选择一个铃声
var randomSound = sounds[Math.floor(Math.random() * sounds.length)];
var soundPath = soundDirectory + "/" + randomSound;
// 播放铃声
playSound(soundPath);
}
ℹ️ 本回答由 AI 生成,内容仅供参考