我正在尝试构建一个开始运行的Web应用程序。因此,我的用户需要该应用在后台运行,以跟踪时间,地理位置并使用window.speechSynthesis.speak
来宣布进度。
我需要它在电话进入睡眠状态时正常工作,我意识到这通常是浏览器(正确地)试图防止的事情。
我有以下代码,虽然我确实听到了beep,但除非手机未解锁and打开浏览器,否则我不会听到语音。没有这两个要求,有什么方法可以发表演讲?
function say(data) {
beep().then(() => {
window.speechSynthesis.speak(new SpeechSynthesisUtterance(data));
});
}
const beeep =
"data:audio/wav;base64,//uQRAAAAWMSLwUIYAAsYkXgoQ.....AAACU=";
function beep() {
snd.src = beeep;
return snd.play();
}
本机替代品在睡眠时会“讲话”,尽管我不知道它们是使用语音合成器还是只是播放声音文件。
您不能,您应该通过推送通知发送事件,当应用程序在后台运行时可以触发此通知。Here is a basic example