【问题标题】:phonegap: Uncaught ReferenceError: Media is not definedphonegap:未捕获的 ReferenceError:未定义媒体
【发布时间】:2014-02-24 11:08:24
【问题描述】:

我正在尝试在我的 phonegap 应用程序中播放声音。

我使用的函数如下所示:

function playAudio(src) {
   src = "media/sounds/" + src; //go to sound folder always

   if (device.platform == 'Android') {
        src = '/android_asset/www/' + src;  // Android needs the search path explicitly specified
   }

    var mediaRes = new Media(src,
        function onSuccess() {
            mediaRes.release(); // release the media resource once finished playing
        },
        function onError(e){
            alert("error playing sound: " + JSON.stringify(e) + "\n src: " + src);
        });

        mediaRes.play(); // the actual playing
}

奇怪的是,如果我设置一个只包含 index.html 文件且正文部分包含 javascript 的应用程序,声音就可以正常工作。

但是,当我使用同事编码的菜单时,它不起作用。在这种情况下,我得到 ​​p>

Uncaught ReferenceError: Media is not defined

要在两种设置之间切换(简单的,工作的一种和菜单的一种),我只需交换包含文件的“www”文件夹。因此,cordova-plugin-media 以相同的方式可用于两者。 对于不工作的,cordova.js 和 phonegap.js 绝对可用(我在这些文件中包含了一个自定义警报功能以供检查)。

另外,声音播放是在“deviceready”被触发后执行的。

有没有人建议在哪里继续调试?完全重新设计菜单可能会奏效,但如果可能的话,我想以任何方式避免这种情况。

【问题讨论】:

    标签: cordova


    【解决方案1】:

    更新:解决方案是在 index.html 中同时加载 phonegap.js 和 cordova.js 显然会导致冲突。删除 phonegap.js 并留下 cordova.js 就行了。

    【讨论】:

      【解决方案2】:

      对我来说,这是相同的症状(媒体未定义),但来自不同的问题(缺少媒体插件)。我必须运行这个命令:

      cordova 插件添加 org.apache.cordova.media

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-04
        • 1970-01-01
        • 1970-01-01
        • 2023-01-23
        • 2016-11-03
        • 2011-01-05
        • 2016-01-02
        相关资源
        最近更新 更多