windows phone 8 - HTML audio: currentTime in IE



我正在尝试播放声音(mp3)从声音文件中的某个点开始。我希望它能在大多数移动设备上运行,它确实能运行,但Windows Phone 8似乎存在一个问题。它在三星Galaxy和iPhone上运行良好,但在WP上,声音总是从头开始,忽略currentTime设置。什么好主意吗?谢谢!

var sfile = "test.mp3';
    var myobj;
    function init()
    {
         myobj=document.createElement('audio');
        myobj.style.position="relative"; 
        myobj.style.bottom=0;
        myobj.src = sfile;
        myobj.id='sound';
        document.body.insertBefore(myobj,document.body.lastChild);
        myobj.load();
    }
    //called when pressing a button
    function test()
    {
        myobj.currentTime=30.0;
        myobj.play()
    }

得到了更多关于这个的信息。原来你不能在调用play()之前设置currentTime。至少在Windows手机上是这样。所以我必须先调用play,然后(在x毫秒之后)我可以设置currentTime。

我现在的想法是在我的声音文件中加入一些沉默,并不断循环这种沉默。当我想播放声音时,我可以设置currentTime。当声音部分完成时,我只是再次启动沉默循环。使用多音轨会容易得多,但不幸的是我没有这个选择。

所以,在Windows phone 8上使用currentTime是可能的。然而,我遇到了另一个问题。因为我现在一直在播放声音,当手机进入睡眠模式时,javascript似乎会冻结(导致沉默循环停止),但无论如何都要播放声音。所以整个mp3文件会从头到尾播放。我尝试使用onfocusout事件来停止循环并暂停声音,但它不起作用。

相关内容

  • 没有找到相关文章

最新更新