HTML5音频播放器适用于safari / Chrome,但不适用于iPhone

时间:2012-05-21 16:25:53

标签: iphone html5 audio

我有一台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

2 个答案:

答案 0 :(得分:2)

在我的浏览器版本中,我隐藏了默认音频播放器,因此我可以使用自定义控件。这对于隐藏的div中的玩家来说效果很好。但是,在iPhone上,div必须显示才能运行,即使使用自定义控件(或出现)也是如此。

我用低z-index而不是display:none来隐藏div。

答案 1 :(得分:1)

iPhone上的HTML5音频播放器需要点击用户。

点击播放器时工作:

<audio src="foo.ogg" width="200px" height="200px" />