[英]Playing local sound in phonegap
我的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_asset / www / test.wav”);
这应该适用于Android。 希望他们能在PhoneGap中解决这个问题,因为这是跨设备支持中的一个错误。
我有另一个版本的getPhonegapPath,当你使用Android时它会检测到:
function getPhoneGapPath() {
var path = window.location.pathname;
path = path.substr( path, path.length - 10 );
var devicePlatform = device.platform;
if(devicePlatform=="Android"){
path = 'file://'+path;
}
return path;
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.