Html Audio in Android Webview



我是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>

div class="one_answers"有所帮助>

对于任何新访问者来说,这只是一个快速的单行代码 - 尝试在 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 消息。

相关内容

  • 没有找到相关文章

最新更新