2011-02-04 26 views
10

Android'de etiketin desteğini tartışan birçok konu bulduk. Şimdiye kadar görünüyor ki, Android Froyo 2.2 bile ses çalamıyor (nexus One'da test yaptım).HTML5 <audio> etikette

www.html5test.com web sayfasına göre, etiketin kendisi desteklenir, ancak tarayıcıda kodekler yoktur (mp3, ogg ..). Peki sorunu nasıl çözebilirim?

Şimdiye kadar tek bir çözüm görüyorum, mp3 akışı olan gömülü Flex veya Flash oynatıcısını kullanın. Bu doğru mu? Android web tarayıcısında .mp3 veya diğer ses akışını oynamamın tek yolu bu mu?

Android 2.3 Gingerbread bazı ses akışlarını destekliyor mu?

Teşekkür Sten

sonra Eklenen çok BR: Sonunda kullanılan çalışma solüsyonu akışı için küçük bir Flex .swf olduğunu. HTML web sayfasıyla kolayca bütünleştirilebilir (Flex-Javascript iletişimi oldukça iyi çalışır). Tek sorun, bazı telefonlarda Flash Player'ın yeniden kurulmaması ve öncelikle Android Market'ten indirilmesi gerektiğidir.

Eklendi hatta daha sonra: Eh, <audio> eleman bile Android 2.3 üzerinde arabası - böyle basit bir şey bir sorun olduğunu Google'da ne yaptığını bilmiyorum. Flex Oynatıcıyı kullanmak sorun değil, fakat bazı telefonlarda Adobe Flash oynatıcının Android pazarından yüklenememesi, çünkü 1Ghz CPU, vb. Gibi bazı Adobe HW gereksinimleri olduğu için HTC gibi bazı satıcılar kendi Flash oynatıcılarını sağlıyor. ama bunlar oldukça kötü ve AS 3.0 ile düzgün çalışmıyor ... Şimdiye kadar her şey özellikle Samsung telefonlarında (Nexus S veya Galaxy S gibi) mükemmel çalışıyor.

+0

Android 2.3 ile çalışmasını sağlamak için ses etiketiyle biraz deneme yaptım, ancak kısa sürdüm (öykünücüyü kullanarak).Ancak,

cevap

6

Ne kazandığını da içine girdiğim şeyle aynı fikirde. Benim Nexus S bir mp3 dosyası ile ses etiketini kullandım

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

: 2.2 Bu görünüşte Froyo ötesinde sürümlerde sabit olmuş bir hata olduğunu, ses etiketi desteklemesine karşın bunu destekleyecek hiçbir codec vardır , orada düzgün çalışıyor (en son firmware sürümü için en azından).

+0

Merhaba, bu yüzden en düşük sürüm Android OS 2.3, doğru mu? Geri dönüş çözümleri nelerdir? Flash/Flex gömülü oyuncular? Bir yorum için çok teşekkürler. BR STeN – STeN

+0

Flaşın bir seçenek olabileceğini farz ediyorum ama korkarım ki orada pratik önerilerde bulunamıyorum. Ben sadece 2.3 yerine yaygın olarak kullanılabilir olmasını bekliyorum. – mikerowehl

+0

Merhaba, küçük Flex stream oynatıcısını, web uygulamasına 2.3 geçici olarak kullanana kadar bir tür geçici çözüm olarak yerleştirmeye karar verdim. Flash Player yüklüyse JavaScript'i nasıl kontrol edeceğinizi biliyor musunuz? Teşekkürler – STeN

6

İlk önce sormayı unuttum. Bir Android uygulaması mı yoksa sadece normal bir web uygulaması mı geliştirmeyi düşünüyorsunuz? Bu çözüm için Android koduna ihtiyacınız var.

Android kodunu kullanmayı düşünmüyorsanız, mesajın kalanını atlayabilirsiniz, üzgünüm!

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

İşte bir numara: Düzenli bağlantılar kullanabilirsiniz. ses dosyalarınıza, ya da (bunu yapmak javascript izin varsa), o zaman bu gibi URL yükleme geçersiz dosyalardan birine yönlendirmek için javascript kullanın: Bu yardımcı olur

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

}); 

Hope, benim için yapar!

Saygılarımızla.

+0

Merhaba, ilginç ipucu için teşekkürler - diğer uygulamada benim için yararlı olabilir ... Ne yazık ki bu sefer gerçekten saf web uygulaması yapıyorum ...: ((BR STeN) – STeN