科尔多瓦媒体停止工作

阿达利斯克

我试图找到一个解决方案,但没有找到任何可以最终解决此问题的方法。因此,问题很基本,在很多地方我找到了他,并且很多地方都解决了这个问题。无论如何,问题在于,成功播放50-100声音后的Cordova Media插件在Android 4.2.2上已停止工作

adamos42@a42book:~$ cordova -v
3.5.0-0.2.6

adamos42@a42book:~/place/of/project$ cordova plugins
com.badrit.MacAddress 0.1.0 "MacAddress"
com.megster.cordova.bluetoothserial 0.3.0 "Bluetooth Serial"
com.randdusing.bluetoothle 1.0.2 "Bluetooth LE"
org.apache.cordova.battery-status 0.2.10 "Battery"
org.apache.cordova.device 0.2.11-dev "Device"
org.apache.cordova.file 1.2.0 "File"
org.apache.cordova.file-transfer 0.4.5-dev "File Transfer"
org.apache.cordova.geolocation 0.3.8 "Geolocation"
org.apache.cordova.media 0.2.12-dev "Media"
org.apache.cordova.media-capture 0.3.2-dev "Capture"
org.apache.cordova.network-information 0.2.11-dev "Network Information"
org.apache.cordova.vibration 0.3.10-dev "Vibration"

我的代码:

var SOUND = true;
var myMedia = null;
var mediaSRC = '';
var LastSnd = '';

function sound(snd)
{
    if(SOUND)
    {       
        LastSnd = snd;
        mediaSRC = "/android_asset/www/sound/"+snd+".mp3";
        console.log("Media::load('"+mediaSRC+"');");

        myMedia = new Media(mediaSRC, media_success, media_error);
        myMedia.play();

        return true;
    }
    return false;
}

function media_success()
{
    console.debug('Media::success(\''+LastSnd+'\');');

    myMedia.stop();
    myMedia.release();

    mediaSRC = "";
}

function media_error(error)
{
    console.error('Media::error(): '+json_encode(error));

    if(mediaSRC != "" && error.message != undefined)    
        alert(error.message);
}

因此,每次成功的media.play()都会触发media_success函数,该函数会在Android设备上释放Media输出,我的程序会多次使用此声音功能,多数情况下cordova会中断播放并播放最新的声音,而每种声音都会触发media_error,错误为:{code:0}

我需要设法使用它的人的帮助,我的代码有什么问题?还有一件事:logcat输出中有一个奇怪的事情:

D/MediaPlayer(xxxxx): Don't notify duration to com.adamos42.application!
阿达利斯克

现在,我尝试使用这种方式,它似乎可以正常工作:

var SOUND = true;
var myMedia = null;
var mediaSRC = '';
var LastSnd = '';

function sound(snd)
{
    if(SOUND)
    {       
        LastSnd = snd;
        mediaSRC = "/android_asset/www/sound/"+snd+".mp3";
        console.log("Media::load('"+mediaSRC+"');");

        if(myMedia != null) myMedia.release();

        myMedia = new Media(mediaSRC, media_success, media_error);
        myMedia.play();

        return true;
    }
    return false;
}

function media_success()
{
    console.debug('Media::success(\''+LastSnd+'\');');

    //myMedia.stop();
    //myMedia.release();

    mediaSRC = "";
}

function media_error(error)
{
    console.error('Media::error(): '+json_encode(error));

    if(mediaSRC != "" && error.message != undefined)    
        alert(error.message);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

科尔多瓦媒体停止工作

来自分类Dev

科尔多瓦android模拟器停止工作

来自分类Dev

电话和邮件链接在科尔多瓦应用程序中停止工作

来自分类Dev

科尔多瓦不工作

来自分类Dev

科尔多瓦相机无法正常工作

来自分类Dev

科尔多瓦不再工作:“意外结束”

来自分类Dev

科尔多瓦hideKeyboardAccessoryBar无法正常工作

来自分类Dev

科尔多瓦(流星)的cdvfile://如何工作?

来自分类Dev

科尔多瓦媒体插件与HTML5音频

来自分类Dev

科尔多瓦媒体插件setVolume()不起作用

来自分类Dev

科尔多瓦媒体插件未实现audioPlayerEndInterruption

来自分类Dev

科尔多瓦媒体插件。继续记录现有的

来自分类Dev

添加 angularjs 后,萨尔瓦多网格停止工作

来自分类Dev

科尔多瓦环境

来自分类Dev

科尔多瓦环境

来自分类Dev

NFC停止检测科尔多瓦中的任何标签

来自分类Dev

离子科尔多瓦相机无法正常工作

来自分类Dev

科尔多瓦创建项目无法正常工作

来自分类Dev

媒体查询已停止工作

来自分类Dev

科尔多瓦Android ReactJS

来自分类Dev

科尔多瓦无法安装

来自分类Dev

科尔多瓦Gradle版本

来自分类Dev

科尔多瓦相机-离子

来自分类Dev

keepRunning PhoneGap /科尔多瓦

来自分类Dev

科尔多瓦钩子订单

来自分类Dev

流星科尔多瓦方向

来自分类Dev

捏放大科尔多瓦

来自分类Dev

科尔多瓦的OData服务

来自分类Dev

科尔多瓦刷新javascript