2011-02-04 18 views
10

Znalazłem wiele wątków omawiających obsługę tagów na Androida. Jak dotąd wygląda na to, że nawet Android Froyo 2.2 nie może odtwarzać dźwięku (wykonałem testy na Nexusie One).Tag HTML5 <audio> na Androidzie

Według strony internetowej www.html5test.com, sam znacznik jest obsługiwany, ale żadne kodeki są w przeglądarce (MP3, OGG ..). Jak mogę rozwiązać problem?

Dotychczas Widzę tylko jedno rozwiązanie, korzystać z wbudowanego odtwarzacza Flash lub Flex, który może przesyłać mp3. Czy to jest poprawne? Czy to jedyny sposób, w jaki mogę odtwarzać plik .mp3 lub inny strumień audio w przeglądarce internetowej na Androida?

Czy Android 2.3 Gingerbread wspierać jakiś strumień audio ???

dziękuję BR Sten

Dodano później: Roztwór roboczy I wreszcie używany jest mały .swf Flex dla streamingu. Można go łatwo zintegrować ze stroną internetową HTML (komunikacja Flex-Javascript działa całkiem nieźle). Jedynym problemem jest to, że na niektórych telefonach program Flash Player nie jest ponownie instalowany i musi zostać pobrany najpierw z serwisu Android Market.

Dodany nawet później: Dobrze, element <audio> jest buggy nawet na Androidzie 2.3 - nie wiem, co robią w Google, że taka prosta sprawa jest problem. Używanie Flex Player jest okey, ale problem polega na tym, że w niektórych telefonach Adobe Flash Player nie może być zainstalowany z rynku Android, ponieważ jest kilka wymagań Adobe HW takich jak procesor 1 GHz, itp. Niektórzy dostawcy, tacy jak HTC, dostarczają własnych odtwarzaczy Flash, ale te są dość złe i nie działają poprawnie z AS 3.0 ... Jak dotąd wszystko działa idealnie, szczególnie na telefonach Samsung (takich jak Nexus S lub Galaxy S).

+0

Eksperymentowałem trochę z tagiem audio, aby mógł działać z systemem Android 2.3, ale pojawił się krótki (za pomocą emulatora).Jednak używając elementu

Odpowiedz

6

Co wykopano zgadza się z tym, co mam napotkasz również. 2.2 obsługuje tag audio, ale nie ma kodeków aby go z powrotem, to widocznie błąd, który został ustalony w wydaniach poza Froyo:

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

Użyłem tag audio z pliku mp3 na moim Nexus S działa tam poprawnie (przynajmniej dla najnowszej wersji oprogramowania).

+0

Witam, więc minimalna wersja to Android OS 2.3, zgadza się? Jakie są rozwiązania awaryjne? Odtwarzacze wbudowane w Flash/Flex? Wielkie dzięki za komentarz. BR STeN – STeN

+0

Zakładam, że flash może być opcją, ale obawiam się, że nie mogę zaoferować żadnej praktycznej porady. Czekam tylko, aż 2.3 będzie szeroko dostępny. – mikerowehl

+0

Witam, postanowiłem osadzić mały odtwarzacz strumienia Flex w mojej aplikacji internetowej jako tymczasowe rozwiązanie, dopóki nie będzie szeroko stosowany 2.3. Czy wiesz, jak sprawdzić JavaScript, jeśli Flash Player jest zainstalowany? Dzięki – STeN

6

Zapomniałem zapytać pierwszy. Czy zastanawiasz się nad stworzeniem aplikacji na Androida lub zwykłej aplikacji internetowej? Przyczyna tego rozwiązania wymaga kodu Android.

Jeśli nie bierzesz pod uwagę przy użyciu kodu Androida, można pominąć resztę wiadomości, przepraszam!

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

Tu jest jakaś sztuczka: można użyć regularne połączenia do plików audio lub użyć javascript, aby przekierować do jednego z plików (jeśli pozwolisz Javascript zrobić), a następnie zastąpić ładowanie zawartości, tak:

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); 
     } 
    } 

}); 

nadzieję, że pomaga, to nie dla mnie!

Pozdrawiam.

+0

Cześć, dziękuję za ciekawą poradę - może być przydatna dla mnie w innej aplikacji ... Niestety tym razem robię naprawdę czystą aplikację internetową ...: ((BR STeN – STeN

Powiązane problemy