无法使用html5音频标签在Android模拟器中播放音频

时间:2012-01-05 05:45:28

标签: android html5 html5-audio

我开发了一个包含所有htmls标签的html5页面。我将该文件推入android模拟器/设备。当我试图启动该页面时能够查看图像而所有但无法播放音频..还有其他原因。请尽快帮助我..

我能够在桌面浏览器中播放音频。

2 个答案:

答案 0 :(得分:0)

Android(WebKit)2.2默认浏览器在技术上支持HTML5音频,但它无法播放使用常用编解码器编码的任何媒体文件。由于浏览器供应商对HTML5音频标记的不一致实现,您需要使用JavaScript来准确确定是否可以使用本机音频或后备。

答案 1 :(得分:0)

这只是alternet实现目标从android中的html文件播放音频的方式。因为android 2.2不支持HTML5的音频标签。

使用Android的Mediaplayer(http://developer.android.com/reference/android/media/MediaPlayer.html)播放音频。你可以从你在HTML文件中编写的javascript中调用android的功能..

这是如何从javascript代码调用java文件中编写的函数的示例 (在ShowAndroidToast函数中,您可以使用mediaplayer对象编写代码来播放音频。)

  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代码调用音频。