JS .play()在iPad上播放错误的文件…
JS .play() on iPad plays wrong file...suggestions?
因此,我正在构建一个web应用程序,该应用程序具有在各种用户操作上更改的文本div(它正在通过文本块数组步进)。我试图添加音频到它,所以我做了另一个数组与声音文件在适当的位置:
var phrases=['Please hand me the awl.','etc1','etc2','etc3'];
var phrasesAudio=['awl.mp3','etc1.mp3','etc2.mp3','etc3.mp3'];
并且在每个动作完成时,'计数器'变量递增,并且每个数组在该计数器处查找对象
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会中断并重复一个声音文件一次或多次。我添加了一些日志记录并查看那里的报告,它正在播放screw.mp3
(只是一个例子,没有特定的文件或多或少容易出错),但实际上它播放screwdriver.mp3
(先前的文件,如果有错误,音频总是lag,从不lead)…因此,我认为问题出在我使用。play()……所以我试着在每个声音之间设置snd=null;
,但没有任何改变…有什么建议吗?这是我第一次使用音频元素,所以任何建议都很感激。谢谢。
edit:我也试过用snd设置文件。src(基于https://wiki.mozilla.org/Audio_Data_API),这导致没有音频播放
对于iPad,你需要在snd.play()
之前调用snd.load()
-否则你会得到"奇怪"的行为…
见:
http://jnjnjn.com/187/playing-audio-on-the-ipad-with-html5-and-javascript/
使用HTML5在iPad上自动播放音频文件
编辑-根据OP的评论:
在这里https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox你可以找到一个提示,如何使用
停止正在播放的媒体片段var mediaElement = document.getElementById("myMediaElementID");
mediaElement.pause();
mediaElement.src = "";
和,然后设置正确的src
, load()
, play()
效果很好
- 视频播放器错误promise DOMException中未捕获
- video.js错误的m3u8源:“;找不到兼容的源和播放技术&”;
- Javascript播放声音会导致“NPObject上的错误调用方法”
- 我在 html5 音频标签中播放音频时收到 [对象媒体错误]
- 魔术播放器初始化错误
- <嵌入>或者<对象>标签视频播放错误处理程序-JavaScript
- 尝试运行下一个上一个按钮以播放列表媒体播放器代码中的视频,出现错误
- HTML5 视频 - 开始播放后无法加载资源错误
- 谷歌图表不播放,不显示任何错误
- JQuery 幻灯片错误.图片在页面上列出,而不是随机播放.找不到错误
- 声音云自定义播放器 - “id 属性为空”错误
- html5视频元素有任何错误?它不会在几个小时后继续播放内容
- 未捕获的类型错误:无法读取属性'播放、src或单击'为null
- Kaltura在Firefox上嵌入iframe播放器错误
- HTML Audio元素可以播放错误的音频格式
- JavaScript视频播放null错误
- 点击第二次后,Fancybox视频无法播放(错误?)
- 播放视频(使用javascript添加)在浏览器内控制原因"错误#2148尝试放松闪存安全设置
- Jwplayer不能在某些手机上播放视频,错误代码4
- Javascript函数播放错误的音频文件