Phonegap媒体获取不按预期工作

时间:2014-08-05 20:30:17

标签: cordova

我正试图通过phonegap上的媒体api获取录制的持续时间。 (版本3.3,媒体插件版本0.2.9) 但是media.getDuration方法没有得到正确的值,它的工作原理如下:

第一条记录,在发布后,该方法总是返回-1, 在下一次录制(使用相同的媒体对象)之后,getduration方法返回上一次录制的时间。如果我在录制后进行播放,现在getduration方法会返回正确的计时器。

我不知道该怎么做,我试图调用游戏并在需要持续时间时停止。但没有成功。

尝试了这一点,没有成功:

PhoneGap unable to getDuration() out of Media API, but other methods work

提前感谢。

2 个答案:

答案 0 :(得分:1)

PhoneGap unable to getDuration() out of Media API, but other methods work 回答brimil01的作品。 另一个答案只适用于我的一个设备。

我的代码(你可以做类似的事情):

$cordovaMedia.play(media);
dur = $cordovaMedia.getDuration(media);
var counter = 0;
timerDur = setInterval(function() {
    counter = counter + 100;
    if (dur < 0) {
        dur = $cordovaMedia.getDuration(media);
    }
    $("#msg").html((counter / 1000).toMMSS() + "/" + dur.toMMSS());
    if (dur > 0 && counter / 1000 > dur) {
        $("#playAudio").css({
            'color': 'black'
        });
        $("#msg").html("Play finished.");
        clearInterval(timerDur);
        $cordovaMedia.stop(media);
        $cordovaMedia.release(media);
    }
}, 100);

同样的问题here

答案 1 :(得分:0)

尝试此解决方法:

播放媒体(如果您不想实际播放,请立即暂停播放),然后再检查播放时间。