Android </audio>上的HTML5 <audio>标签

时间:2011-02-04 06:27:21

标签: android html5 google-chrome audio

我发现很多线程讨论Android上标记的支持。到目前为止看起来,即使Android Froyo 2.2也无法播放音频(我已经对nexus One进行了测试)。

根据www.html5test.com网页,支持标签本身,但浏览器中没有编解码器(mp3,ogg ..)。那我怎么解决这个问题呢?

到目前为止,我只看到一个解决方案,使用嵌入式Flex或Flash播放器,它可以播放mp3。那是对的吗?这是我在Android网络浏览器中播放.mp3或其他音频流的唯一方法吗?

Android 2.3 Gingerbread是否支持某些音频流???

非常感谢 BR 斯登

稍后添加:我最终使用的工作解决方案是用于流媒体的小型Flex .swf。它可以很容易地与HTML网页集成(Flex-Javascript通信非常有效)。唯一的问题是在某些手机上没有重新安装Flash Player,必须先从Android Market下载。

稍后添加:好吧,即使在Android 2.3上,<audio>元素也有问题 - 我不知道谷歌在做什么这么简单的事情是个问题。使用Flex Player是有道理的,但问题是在某些手机上无法从Android市场安装Adobe Flash播放器,因为有一些Adobe硬件要求,如1Ghz CPU等。一些像HTC这样的供应商提供自己的Flash播放器,但是那些非常糟糕,并且与AS 3.0无法正常工作......到目前为止,一切都运行得非常好,特别是在三星手机上(如Nexus S或Galaxy S)。

2 个答案:

答案 0 :(得分:6)

你挖出的东西也同意我遇到的情况。 2.2支持音频标签,但没有编解码器支持它,这显然是在Froyo以外的版本中修复的错误:

http://code.google.com/p/android/issues/detail?id=9372

我在Nexus S上使用了带有mp3文件的音频标签,它在那里正常工作(至少是最新的固件版本)。

答案 1 :(得分:6)

我先忘了问。您是在考虑开发Android应用程序还是仅仅是常规的Web应用程序?这个解决方案的原因是你需要Android代码。

如果您不考虑使用Android代码,那么您可以跳过其余信息,抱歉!

=============================================== ===================================

这里有一些技巧:您可以使用常规链接到您的音频文件,或使用javascript重定向到其中一个文件(如果您让Javascript这样做),然后覆盖Url加载,如下所示:

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.endsWith(".ogg")){
            Log.d(TAG, "Reproducir archivo OGG");
            Uri tempPath = Uri.parse(url);
            MediaPlayer player = MediaPlayer.create(WebViewVideo.this, tempPath);
            player.start();
            return true;
        }else{
            return super.shouldOverrideUrlLoading(view, url);
        }
    }

});

希望这有帮助,它对我有用!

问候。