Javascript 单击图像播放声音PHONEGAP

Javascript 单击图像播放声音PHONEGAP,javascript,android,image,cordova,onclick,Javascript,Android,Image,Cordova,Onclick,我正在单击图像以调用playAudio()。我正在使用phonegap来实现这一点 这是我的功能 <script type="text/javascript" charset="utf-8"> // Audio player // var my_media = null; // Play audio // function playAudio(src) {

我正在单击图像以调用
playAudio()
。我正在使用phonegap来实现这一点

这是我的功能

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


        // Audio player
        //
        var my_media = null;


        // Play audio
        //
        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();



        }





        // onSuccess Callback
        //
        function onSuccess() {
            console.log("playAudio():Audio Success");
        }

        // onError Callback 
        //
        function onError(error) {
            alert('code: '    + error.code    + '\n' + 
                  'message: ' + error.message + '\n');
        }


        </script>

//音频播放器
//
var my_media=null;
//播放音频
//
功能播放音频(src){
if(my_media==null){
//从src创建媒体对象
my_media=新媒体(src、onSuccess、onError);
}//否则播放当前音频
//播放音频
我的媒体播放();
}
//onSuccess回调
//
函数onSuccess(){
log(“playAudio():音频成功”);
}
//错误回调
//
函数onError(错误){
警报('code:'+error.code+'\n'+
'消息:'+error.message+'\n');
}
这是我的照片

<input type="image" id="myimage" src="numb/equal.png" style="height:100px;width:100px;margin-top:0px" onclick="playAudio('/android_asset/www/Mobile/sound/'+ abc +'.mp3');"/>

单击此图像时,应播放相应的mp3。但在我的控制台中,我得到了“媒体未定义”


我怎样才能解决这个问题

我不会这样做的。使用HTML5,您可以非常轻松地播放音频文件。让您的javascript创建所描述的元素并设置autoplay属性。

如果您使用的是Phoengap/Cordova,则不应在mp3的路径中包含
/android\u asset/www/
。您可以将该
/android\u asset/www/
文件夹视为“context root”-所有相关URL都会自动将此附加到它们

所以只需将
onclick=“playaudo('/android_asset/www/Mobile/sound/'+abc+'.mp3');”
更改为
onclick=“playAudio('./Mobile/sound/'+abc+'.mp3');”
它应该能找到正确的音频路径。

这不应该是新的吗?我也用html5中的音频标签进行了测试,在浏览器中效果很好,但在手机中没有。我也用html5中的音频标签进行了测试,在浏览器中工作得很好,但在手机中却不行。我很确定
audio
标记在cordova/phonegap项目中不起作用,因为cordova使用的本机web视图不支持某些/许多HTML5元素,我很确定audio就是其中之一。也许现在Android webivew使用Chromium,我们很快就会看到音频标签工作,但考虑到Webview团队的历史,我不会指望它。