Тег HTML5 <audio> на Android
Я нашел много потоков, обсуждая поддержку тега на Android. Пока выглядит, что даже Android Froyo 2.2 не может воспроизводить аудио (я сделал тесты на Nexus One).
Согласно веб-странице www.html5test.com, сам тег поддерживается, но в браузере нет кодеков (mp3, ogg..). Итак, как я могу решить проблему?
Пока я вижу только одно решение, используйте встроенный Flash или Flash-плеер, который может воспроизводить mp3. Это верно? Это единственный способ воспроизвести .mp3 или другой аудиопоток в веб-браузере Android?
Поддерживает ли Android 2.3 Gingerbread некоторый аудиопоток?
Большое спасибо
BR
Стен
Добавлено позже. Рабочее решение, которое я наконец использовал, представляет собой небольшой Flex.swf для потоковой передачи. Его можно легко интегрировать с веб-страницей HTML (связь Flex-Javascript работает очень хорошо). Единственная проблема заключается в том, что на некоторых телефонах Flash Player не переустанавливается и должен быть сначала загружен с Android Market.
Добавлен еще позже: ну, элемент <audio>
не работает даже на Android 2.3 - я не знаю, что делает в Google, что такая простая проблема. Использование Flex Player - это okey, но проблема в том, что на некоторых телефонах Adobe Flash Player не может быть установлен с Android-рынка, потому что есть некоторые требования к Adobe HW, такие как 1 ГГц процессор и т.д. Некоторые производители, такие как HTC, предоставляют собственные Flash-проигрыватели, но они очень плохие и не работают правильно с AS 3.0... Пока все работает отлично, особенно на телефонах Samsung (например, Nexus S или Galaxy S).
Ответы
Ответ 1
То, что вы выкопали, согласуется с тем, с чем я столкнулся. 2.2 поддерживает звуковой тег, но не имеет кодеков для его поддержки, это, по-видимому, ошибка, которая была исправлена в релизах за пределами Froyo:
http://code.google.com/p/android/issues/detail?id=9372
Я использовал звуковой тег с mp3 файлом на своем Nexus S, там он работает правильно (для последней версии прошивки по крайней мере).
Ответ 2
Я забыл спросить сначала. Вы думаете о разработке приложения для Android или просто обычного веб-приложения? Для этого решения вам понадобится код 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);
}
}
});
Надеюсь, это поможет, это для меня!
С уважением.