通过phonegap和cordova for Android播放音频
我一直在为android编写测试应用程序,但在播放音频文件时遇到了一个问题。我的问题在于,只要页面加载音频文件,它就可以播放,而不是通过点击按钮播放 我用cordova的例子来播放音频,但我不知道为什么音频会立即播放 谢谢 剧本通过phonegap和cordova for Android播放音频,android,html,cordova,Android,Html,Cordova,我一直在为android编写测试应用程序,但在播放音频文件时遇到了一个问题。我的问题在于,只要页面加载音频文件,它就可以播放,而不是通过点击按钮播放 我用cordova的例子来播放音频,但我不知道为什么音频会立即播放 谢谢 剧本 script type="text/javascript" charset="utf-8" src="cordova-2.2.0.js"></script> <script type="text/javascript" chars
script type="text/javascript" charset="utf-8" src="cordova-2.2.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
//
function onDeviceReady() {
playAudio("/android_asset/www/audio/audio.mp3");
}
// Audio player
//
var my_media = null;
var mediaTimer = null;
function playAudio(src) {
if (my_media == null) {
// Create Media object from src
my_media = new Media(src, onSuccess, onError);
} // else play current audio
// Play audio
my_media.play();
// Update my_media position every second
if (mediaTimer == null) {
mediaTimer = setInterval(function() {
// get my_media position
my_media.getCurrentPosition(
// success callback
function(position) {
if (position > -1) {
setAudioPosition((position) + " sec");
}
},
// error callback
function(e) {
console.log("Error getting pos=" + e);
setAudioPosition("Error: " + e);
}
);
}, 1000);
}
}
</script>
scripttype=“text/javascript”charset=“utf-8”src=“cordova-2.2.0.js”>
//等待Cordova加载
//
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
//科尔多瓦准备好了
//
函数ondevicerady(){
playAudio(“/android_asset/www/audio/audio.mp3”);
}
//音频播放器
//
var my_media=null;
var mediaTimer=null;
功能播放音频(src){
if(my_media==null){
//从src创建媒体对象
my_media=新媒体(src、onSuccess、onError);
}//否则播放当前音频
//播放音频
我的媒体播放();
//每秒更新我的媒体位置
如果(mediaTimer==null){
mediaTimer=setInterval(函数(){
//得到我的媒体职位
my_media.getCurrentPosition(
//成功回调
职能(职位){
如果(位置>-1){
设置音频位置((位置)+“秒”);
}
},
//错误回调
职能(e){
console.log(“获取位置时出错=”+e);
设置音频位置(“错误:+e”);
}
);
}, 1000);
}
}
HTML按钮单击
<a class="button" onclick="playaudio('/android_asset/www/audio/audio.mp3')";>Play that audio!</a>
播放音频!
因为ondevicerady()
是addEventListener
的侦听器回调
因此,每当此侦听器实例化您的ondevicerady()
方法时,将自动调用该方法
从该方法调用playAudio()
method,这就是音频开始自动播放的原因
从ondevicerady()
回调函数中删除此playAudio()
方法调用
编辑:
改变这个
<a class="button" onclick="playaudio('/android_asset/www/audio/audio.mp3')";>Play that audio!</a>
播放音频!
有,
播放音频!
您正在执行设备上的播放音频方法,导致页面加载时播放声音。您好-我已删除它,现在音频根本无法播放感谢您的回复-更改了代码,但仍然无法播放working@Grimlockz检查您是否从按钮单击中正确拼写了playAudio
,并在playAudio
中输入警报以检查是否调用了Methodos?我已修改了代码,但仍然不工作。它一定不会被呼叫谢谢你的帮助,你在按钮上做了什么改变?
<a class="button" onclick="playAudio('/android_asset/www/audio/audio.mp3');">Play that audio!</a>