android - 在 phonegap 中播放本地声音

标签 android jquery ios cordova

我的 www 文件夹中有一个 .wav 文件。我正在使用带有以下代码的 jQuery。警报响起,但不播放声音。我做错了吗?

<script type="text/javascript" charset="utf-8" src="phonegap-0.9.2.js"></script> 
<script type="text/javascript" charset="utf-8" src="jquery.js"></script> 


<script type="text/javascript" charset="utf-8">

$(document).ready(function () {
    window.alert("READY!");
    document.addEventListener("deviceready", onDeviceReady, true);

    function onDeviceReady(){
        window.alert("OK@!");
        var snd = new Media("test.wav");
        snd.play();
    }
});

</script> 

只是没有播放声音。

最佳答案

您可以使用 window.location.pathname 在任何 PhoneGap 应用程序中获取应用程序的路径。这样您就不必为 Android 进行硬编码。它在 iPhone 上看起来像这样:

/var/mobile/Applications/{GUID}/{appname}.app/www/index.html

这在 Android 上:

/android_asset/www/index.html

剥离 /index.html,添加 file://,然后添加您的文件 test.wav

演示:http://jsfiddle.net/ThinkingStiff/r7eay/

代码:

function getPhoneGapPath() {

    var path = window.location.pathname;
    path = path.substr( path, path.length - 10 );
    return 'file://' + path;

};

var snd = new Media( getPhoneGapPath() + 'test.wav' );

关于android - 在 phonegap 中播放本地声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4438822/

相关文章:

android - android中的RelativeLayout layout_below问题

java - 为什么我应该 "Transform myVariable to final one element array"?

android - 如何从 content_main 中删除邮件内置图标

jquery - 在 jquery 中包装 Accordion 的几个元素

ios - 关于 TableView 单元格indexpath.row

ios - 如何防止tableview section head在滚动时粘住?

ios - 自动布局 : animating height to zero while preserving user interaction

android - com.android.ide.common.process.ProcessException : Failed to execute aapt! 我该怎么办?

javascript - Asp.Net 控制值在 Jquery 中返回未定义

javascript - 如何以正确的方式从 Javascript 隐藏的输入类型中获取值?