2016-08-01 83 views
0

我在我的phonegap应用程序中有此代码。音频元素“currentTime”不适用于Android 6设备

基本上“this.currentTime”在Android 6设备上始终返回为0,它适用于我检查过的所有其他设备。

任何人都知道这个的原因,也许是一个替代解决方案的作品?

var audioElement = document.createElement("audio"); 
audioElement.setAttribute("src", track_path); 

audioElement.addEventListener('timeupdate', function() { 
    alert(this.currentTime); 
}); 

谢谢。

+0

你有任何控制台错误? –

回答

0

请使用cordova plugin media。其中提供了一些功能,如 media.getDuration,它以秒为单位返回音频文件的持续时间。如果持续时间未知,则返回值-1。

media.getDuration(); 

快速例

// Audio player 
// 
var my_media = new Media(src, onSuccess, onError); 

// Get duration 
var counter = 0; 
var timerDur = setInterval(function() { 
    counter = counter + 100; 
    if (counter > 2000) { 
     clearInterval(timerDur); 
    } 
    var dur = my_media.getDuration(); 
    if (dur > 0) { 
     clearInterval(timerDur); 
     document.getElementById('audio_duration').innerHTML = (dur) + " sec"; 
    } 
}, 100); 

这里是参考link

+0

对不起,但我需要正在播放的音频元素的当前时间。 –

+0

你正在使用哪个插件? –

+0

不使用插件,而是使用普通的JavaScript代码。 –