我发现很多线程讨论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)。
答案 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);
}
}
});
希望这有帮助,它对我有用!
问候。