Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mediaelement.js-android默认浏览器和海豚浏览器加载mp3问题_Android_Browser_Load_Mediaelement.js_Dolphin Browser - Fatal编程技术网

mediaelement.js-android默认浏览器和海豚浏览器加载mp3问题

mediaelement.js-android默认浏览器和海豚浏览器加载mp3问题,android,browser,load,mediaelement.js,dolphin-browser,Android,Browser,Load,Mediaelement.js,Dolphin Browser,你好 我目前正在为自己建立一个网站(我是一名作曲家/制作人),我正在使用媒体元素作为主演示页面。该页面正在以下链接中构建: 以下是我认为相关的功能和代码: function initPlayer() { player = new MediaElementPlayer('#listen_player',{ success: function (mediaElement, domObject) { mediaElement.ad

你好

我目前正在为自己建立一个网站(我是一名作曲家/制作人),我正在使用媒体元素作为主演示页面。该页面正在以下链接中构建:

以下是我认为相关的功能和代码:

function initPlayer()
{
    player = new MediaElementPlayer('#listen_player',{
        success: function (mediaElement, domObject) 
        { 
            mediaElement.addEventListener('play', resumeSong, false);
            mediaElement.addEventListener('ended', playNextSong, false);
            mediaElement.addEventListener('pause', pauseSong, false);
        }
    });

    [omitted]
}

function setSong(element)
{
    if (element != "")
    {
        unselectAllSongs();
        document.getElementById(element).className = "listen_song_highlight";

        [omitted]

        var newSrc = document.querySelector("#"+element+" .listen_song_source").title;
        player.pause();
        player.setSrc(newSrc);
        player.load();
    }
}

function playSong(element)
{
    document.querySelector("#"+element+" .listen_song_status").innerHTML = "playing";
    player.play();
}

function playNextSong()
{
    var newSong = document.querySelector(".listen_song_highlight + div.listen_song");
    if (autoplay && newSong != null)
    {
        setSong(newSong.id);
        playSong(newSong.id);
    }
    else
    {
        document.querySelector(".listen_song_highlight .listen_song_status").innerHTML = "stopped";
    }
}
这一切似乎都很好。它找到列表上的下一首歌曲并设置新的来源;我已经通过alert和其他调试验证了它是否能够正确执行此操作。然而,在Android默认浏览器和Dolphin浏览器上,它有时似乎无法加载mp3,并过早地触发“结束”事件以转到下一首歌曲。结果是,在播放完一首歌曲后,它似乎跳过了2-3首歌曲。而且,要想让它播放一首歌,还需要一些欺骗,点击歌曲分割和播放器播放按钮。我可以在html中输入相同的url,浏览器可以播放/下载它,访问或加载它都没有问题

以下是播放列表中重复播放的3个mp3文件,以供参考。它们是我写的,但它们是真正音乐的占位符

NEW/music/creation.mp3
NEW/music/startup.mp3
NEW/music/win.mp3
请注意,所有这些都可以在Chrome、Firefox、IE8+和Android Chrome上正常工作(我还没有测试过iPhone或iPad)


我的诊断正确吗?谁能给我指出正确的方向吗?是否有过MediaElement在Android默认浏览器和Dolphin浏览器上不能正常工作的经验?

我在Android上也有同样的问题(但视频…)

我被告知这是文件未及时下载的问题,即浏览器启动下载,但由于文件未下载,因此文件长度为0:00,因此会触发ended事件

如果有办法使视频/音频下载更快,那么问题就迎刃而解了

奇怪的是,如果设备具有良好的WiFi,那么这个问题基本上就消失了

看看约翰·戴尔在这里是怎么说的:


如果是服务器或MediaElement异常,我可以任其发展。但如果这是我的代码,我不能休息,直到它是正确的!但是我无法想象我的代码有什么问题。由于web开发的临时性/零碎性,可能需要一些变通方法。