我是HTML和Java的初学者,我正在尝试使用HTML和Java通过Web视图在Android上的简单Web应用程序中播放音频文件。我已经成功地让它在Android 4.0上运行。但是,它不适用于 2.3.3 或 2.2。我做了很多研究,到目前为止,我发现它不受支持。谁能证实或否认这一点,并可能为我指出正确的方向?这是我在 4.0 上的工作,但没有别的。
WebView engine = (WebView) findViewById(R.id.web_engine);
String audioTest = "< html >" + <br/>
"< body >" + <br/>
"< audio id='egSound' preload='auto' autoplay ='autoplay'>" + <br/>
"< source src=' www.egSoundUrl.com '>" +
"< /audio>" + <br/>
"< /body>" +
"< /html>";
engine.loadData(audioTest, "text/html", null);
如何让相同的代码适用于 2.3.3?在我的研究中,我遇到了一个能够使用视频标签播放音频文件的人,但我无法让它工作。任何共享的知识将不胜感激。
是的。可悲的是,HTML5音频元素仅支持姜饼。
我读到音频标签在 2.2 和 2.3 中以某种方式得到支持,但由于一些非常奇怪的原因,mp3 和 ogg 编解码器不支持。因此,即使支持它在 Android 2.3 之前的手机上也毫无用处。
解决方案 1视频标记解决方法(1.6 到 2.2)如下:
<video src="soundfile.mp3" onclick="this.play();"></video>
是你尝试过的那个吗?
解决方案 2另一个可能的解决方案(2.2+)是实现一个带有Flash回退的JQuery Player,如UbaPlayer。
解决方案 3最后。。StackOverflow的另一个用户有一个Java解决方法,在这里:
- Android上的HTML5音频标签 - mdelolmo的回答
..希望这对:)<</p>
对于任何新访问者来说,这只是一个快速的单行代码 - 尝试在 Web 视图设置代码中使用以下代码:
mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
它成功解决了音频播放问题!
我也有同样的问题,对我有用的解决方案是..使用Android的媒体播放器(http://developer.android.com/reference/android/media/MediaPlayer.html)播放音频。您可以从用HTML文件编写的JavaScript中调用Android的功能。
WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");
--------------------------------
public class WebAppInterface {
Context mContext;
/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
mContext = c;
}
/** Show a toast from the web page */
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
}
---------------------------
java sript code
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}
</script>
通过这种方式,您可以从 Android 代码调用音频。
标签音频只是使用 .loadUrl("https://webpage.html")
为我工作。
.loadData(htmlString, "text/html", null)
显示不受支持的 MIME 消息。