我的需求:移动护理系统的皮试提醒功能,在登陆状态下,皮试时间到了后可以语音提醒。
遇到的问题:因为是离线使用,所以只能通过video读取静态语音资源,但是video不能自动播放,
会报错:The element has no supported sources
通过play()方式调用也不行,除非手动按钮调用播放过一次后才可以。
解决方案:既然手动播放过一次后就可以了,我干脆就在点击登陆时调用一次算了。
在一个博客上看到通过标签的muted静音属性实现先第一次静音播放,播放结束后再取消静音,但在实际应用中这个方法并不生效,最后我用的是volume音量属性,第一次播放音量设为0,播放后再恢复为1。之后WebSocket调用时,再用play()就可以实现语音播报,到目前为止还没有出现问题。
注意:video标签不能隐藏,否则会出错