我有一台HTML5音频播放器可以在PC上运行Safari,但似乎不能用于(我的)iPhone(4)。这是代码:
`
function loadPlayer() {
var audioPlayer = new Audio();
audioPlayer.controls="controls";
audioPlayer.addEventListener('ended',nextSong,false);
audioPlayer.addEventListener('error',errorFallback,true);
document.getElementById("player").appendChild(audioPlayer);
nextSong();
}
function nextSong() {
if(urls[next]!=undefined) {
var audioPlayer = document.getElementsByTagName('audio')[0];
if(audioPlayer!=undefined) {
audioPlayer.src=urls[next];
audioPlayer.load();
audioPlayer.play();
next++;
} else {
loadPlayer();
}
} else {
alert('the end!');
}
}
function errorFallback() {
nextSong();
}
function playPause() {
var audioPlayer = document.getElementsByTagName('audio')[0];
if(audioPlayer!=undefined) {
if (audioPlayer.paused) {
audioPlayer.play();
} else {
audioPlayer.pause();
}
} else {
loadPlayer();
}
}
function stop() {
var audioPlayer = document.getElementsByTagName('audio')[0];
audioPlayer.pause();
audioPlayer.currentTime = 0;
}
function pickSong(num) {
next = num;
nextSong();
}
var urls = new Array();
urls[0] = '01_horses_mouth/mp3/01. Let The Dog See The Rabbit preface.mp3';
urls[1] = '01_horses_mouth/mp3/02. The Other Horse\'s Tale.mp3';
urls[2] = '01_horses_mouth/mp3/03. Caged Tango.mp3';
urls[3] = '01_horses_mouth/mp3/04. Crumbs.mp3';
urls[4] = '01_horses_mouth/mp3/05. Mood Elevator Reprise.mp3';
urls[5] = '01_horses_mouth/mp3/06. Mood Elevator.mp3';
urls[6] = '02_dub_project/mp3/01. Fearless Dub.mp3';
urls[7] = '02_dub_project/mp3/02. Original Sound Dub.mp3';
urls[8] = '02_dub_project/mp3/03. Rhok Shok Dub.mp3';
urls[9] = '02_dub_project/mp3/04. Tron Dub.mp3';
urls[10] = '02_dub_project/mp3/05. Eastern Fire Dub.mp3';
urls[11] = '02_dub_project/mp3/06. Mary Jane Dub.mp3';
var next = 0;
`
任何人都可以看到任何明显会导致这种情况无法在iPhone上运行吗?
还有一个canvas元素的代码,但是我已经将它隐藏在iPhone版本上 - 无论如何都是画布。我评论了代码,但这似乎没有什么区别,所以我猜这不是冲突。这是网站:
http://lisadearaujo.com/clientaccess/wot-sound/indexiPad.html
答案 0 :(得分:2)
在我的浏览器版本中,我隐藏了默认音频播放器,因此我可以使用自定义控件。这对于隐藏的div中的玩家来说效果很好。但是,在iPhone上,div必须显示才能运行,即使使用自定义控件(或出现)也是如此。
我用低z-index而不是display:none来隐藏div。
答案 1 :(得分:1)
iPhone上的HTML5音频播放器需要点击用户。
点击播放器时工作:
<audio src="foo.ogg" width="200px" height="200px" />