【问题标题】:Audio Element "currentTime" not working on Android 6 devices音频元素“currentTime”不适用于 Android 6 设备
【发布时间】:2016-08-01 10:36:00
【问题描述】:

我的 phonegap 应用中有此代码。

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

任何人都知道这是什么原因,也许还有其他可行的解决方案?

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

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

谢谢。

【问题讨论】:

  • 你有任何控制台错误吗?

标签: javascript android cordova audio


【解决方案1】:

请使用 cordova 插件媒体。其中提供了一些功能喜欢 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

【讨论】:

  • 抱歉,我需要正在播放的音频元素的 currentTime。
  • 你用的是哪个插件?
  • 不使用插件,我使用的是纯 JavaScript 代码。
  • 请再次查看我的回答,希望对您有所帮助。谢谢
猜你喜欢
  • 1970-01-01
  • 2013-12-08
  • 2014-01-29
  • 2022-11-30
  • 2014-09-19
  • 2016-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多