JS .play() on iPad plays wrong file…suggestions?
因此,我正在构建一个Web应用程序,该应用程序的div的文本会随着各种用户操作而变化(它会逐步浏览一系列文本)。我正在尝试向其中添加音频,所以我制作了另一个数组,将声音文件放置在适当的位置:
1 2 | var phrases=['Please hand me the awl.','etc1','etc2','etc3']; var phrasesAudio=['awl.mp3','etc1.mp3','etc2.mp3','etc3.mp3']; |
在每次操作完成后,都会增加一个\\'counter \\'变量,并且每个数组在该计数器处寻找对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var audio = document.createElement("audio"), canPlayMP3 = (typeof audio.canPlayType ==="function" && audio.canPlayType("audio/mpeg") !==""); function onAction(){ correct++; document.getElementById('speech').innerHTML=phrases[correct]; if(canPlayMP3){ snd = new Audio(phrasesAudio[correct]); } else{ snd = new Audio(phrasesAudioOgg[correct]); } snd.play(); } |
(该文本替换了div \\的HTML,并且我使用.play()作为音频对象)...通常可以正常工作(并且始终在"真实"浏览器中可以),但是在iPad上(实际目标设备)经过几次成功的迭代后,TEXT继续准确进行,但是AUDIO会打cup并重复一个或多个声音文件。我添加了一些日志记录,并查看那里报告它正在播放
编辑:我也尝试使用snd.src设置文件(基于https://wiki.mozilla.org/Audio_Data_API),这导致没有音频播放
对于iPad,您需要在
请参阅以获取一些见解:
http://jnjnjn.com/187/playing-audio-on-the-ipad-with-html5-and-javascript/
使用HTML5
在iPad上自动播放音频文件
编辑-根据OP的评论:
此处https://developer.mozilla.org/zh-CN/Using_audio_and_video_in_Firefox,您可以找到有关使用
暂停当前正在播放的媒体的提示
1 2 3 | var mediaElement = document.getElementById("myMediaElementID"); mediaElement.pause(); mediaElement.src =""; |
,然后设置正确的