追逐者
追逐者
  • 发布:2015-11-12 18:00
  • 更新:2019-05-13 16:20
  • 阅读:2470

音频只有在播放一次后才能获取音频流的总长度吗

分类:HTML5+
    var r = null;  
    function onPlusReady() {  
    r = plus.audio.getRecorder();  
    }  
    function dianji() {  
    if (r == null) {  
        alert("Device not ready!");  
        return;  
    }  
    r.record({  
        filename: "_doc/audio/"  
    }, function(recordFile) {  
        var player = plus.audio.createPlayer(recordFile);  
        var num = 0;  
              //player.play(function() {}, function() {});//当开始播放的方法执行后才能获取到音频流的总长度  
        setTimeout(function() {  
                num = player.getDuration();  
            alert(num);  
        },400)  

    }, function(e) {  
        alert(e);  
    });  

    };

如上代码,无法获取到音频流的总长度显示为NaN,如果执行播放的方法后就可以获取到了,这是bug还是设计如此?

2015-11-12 18:00 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

5+ API规范没有规定需要播放后才能获取长度,可能各平台实现缺陷导致的问题
@DCloud_IOS_XTY @DCloud_Android_磊子 确认如何支持播放前可获取

Android_磊子

Android_磊子

目前5+安卓平台确实需要在play之后才能获取时长。

春华秋实

春华秋实

做游戏使用,想解决流式播放

春华秋实

春华秋实

做游戏使用,想解决流式播放,实现语音消息的高效推送,怎么处理?

  • Android_磊子

    Android平台可以尝试使用网络音频地址。

    2016-12-19 20:04

  • 春华秋实

    问题是游戏需要ios和android互通,痛苦中

    2016-12-24 09:48

小黄鸭

小黄鸭 - IT宅

现在ios平台也是播放后才能获取到长度

该问题目前已经被锁定, 无法添加新回复