简体   繁体   English

PhoneGap构建Android音频不起作用

[英]PhoneGap Build Android Audio Not Working

I'm using PhoneGap Build to launch an Android application. 我正在使用PhoneGap Build来启动Android应用程序。 My html and everything works perfectly in the browser. 我的HTML和一切在浏览器中完美运行。 However, it does not on my Android device. 但是,它不在我的Android设备上。 Does it have something to do with the permissions? 它与权限有关吗? I'm really not sure, and am completely confused as to where to go next. 我真的不确定,对于下一步该去哪儿我感到很困惑。 Below I have my html and javascript. 下面我有我的HTML和JavaScript。

I do not have a context file, fyi. 我没有上下文文件,fyi。 My folders are css, img, js, and sound. 我的文件夹是css,img,js和sound。

Let me know if you can help! 如果你能提供帮助,请告诉我!

html + javascript html + javascript

<h1 id= "main">GO</h1>

var pp = 1;
            var audio = new Audio('sound/sound1.mp3');
$("#main").click(function(){
                console.log(pp);
                if (pp == 1){
                    audio.play();
                    pp++;
                    console.log(pp);
                }else if (pp == 2){
                    audio.pause();
                    pp--;
                    console.log("audio pause");
                }
            });

It's not a permission issue, rather, your HTML/Javascript code is run/loaded inside a customized Android Webview ( http://developer.android.com/reference/android/webkit/WebView.html ). 这不是权限问题,而是在自定义的Android Webview( http://developer.android.com/reference/android/webkit/WebView.html )中运行/加载HTML / Javascript代码。

This Webview does have several quirks and does not quite behave, like a browser would in some cases. 这个Webview确实有几个怪癖,并且表现不佳,就像某些情况下的浏览器一样。

One of those cases is playing audio or video. 其中一个案例是播放音频或视频。 On Android, there is MediaPlayer to do that. 在Android上,有MediaPlayer可以做到这一点。 If you were running this code in a 'normal' Android application you would have an Activity that contains an instance of WebView. 如果您在“普通”Android应用程序中运行此代码,您将拥有一个包含WebView实例的Activity。 To play media files you could for example inject an object http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object , java.lang.String) that plays the audio or video using Android's MediaPlayer. 要播放媒体文件,您可以注入播放音频的对象http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,java.lang.String )。视频使用Android的MediaPlayer。

So basically, it just doesn't work the way, you try, right now. 所以基本上,它只是不行,你试试,现在。 However Phonegap provides an API to work around this issue. 但是,Phonegap提供了一个解决此问题的API。 Possible that they are doing, what I just explained above. 他们正在做的可能,我刚才在上面解释过。 http://docs.phonegap.com/en/2.0.0/cordova_media_media.md.html http://docs.phonegap.com/en/2.0.0/cordova_media_media.md.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM