Phonegap Media.play

时间:2014-10-02 18:52:50

标签: android cordova phonegap-plugins phonegap-build

我正在尝试使用Media对象在Android上设置PhoneGap应用。但由于某种原因,我的Android设备上没有播放音频。

HTML文件的源代码是:

<input type="button" onclick="playAudio()" value="Play Sound">

<script>
    function playAudio() {
        var my_media = new Media("http://www.noiseaddicts.com/samples/3721.mp3");
        my_media.play();
    }
</script>

我已将插件和网站白名单添加到config.xml文件中,如下所示:

<widget xmlns   = "http://www.w3.org/ns/widgets"
    xmlns:gap   = "http://phonegap.com/ns/1.0"
    id          = XXXX
    version     = "0.1.0" >

<gap:platform name="android" />

<plugin name="Media" value="org.apache.cordova.AudioHandler" />

<access origin="http://www.noiseaddicts.com" />

</widget>

我知道自己做错了什么?

2 个答案:

答案 0 :(得分:0)

您应该附加成功和错误处理程序,以便能够调试正在进行的操作。

var my_media = new Media("http://www.noiseaddicts.com/samples/3721.mp3",
        // success callback
        function () {
            alert("playAudio():Audio Success");
        },
        // error callback
        function (err) {
            alert("playAudio():Audio Error: " + err);
        }
);
my_media.play();

更新:如果这不起作用,请尝试执行以下操作。在app / res / xml / config.xml中:

<feature name="Media">
    <param name="android-package" value="org.apache.cordova.media.AudioHandler" />
</feature>

在app / AndroidManifest.xml中:

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

在此处指定:http://cordova.apache.org/docs/en/3.1.0/cordova_media_media.md.html#Media_accessing_the_feature

答案 1 :(得分:0)

问题是我在创建项目时没有创建正确的文件结构,并且缺少包括cordova.js文件在内的关键文件。我从头开始根据cordova文档开始工作,然后开始工作。