2012-05-10 20 views
6

HTML ve Java'da yeni başlayan biriyim ve HTML ve Java kullanarak Web görünümünde basit bir web uygulamasında android üzerinde ses dosyaları çalmaya çalışıyorum. Bunu Android 4.0 üzerinde çalışmaya başladım. Ancak, 2.3.3 veya 2.2'de çalışmayacaktır. Çok fazla araştırma yaptım ve şu ana kadar bulduğum her şey desteklenmiyor. Bunu herkes onaylayabilir mi, reddedebilir ve belki de beni doğru yöne yönlendirebilir mi? İşte 4.0 üzerinde çalışıyorum ama başka bir şey yok.Html Ses Android WebView'da

WebView engine = (WebView) findViewById(R.id.web_engine); 

String audioTest = "<html>" + <br/> 
       "<body>" + <br/> 
       "< audio id='egSound' preload='auto' autoplay ='autoplay'>" + <br/> 
       "< source src=' www.egSoundUrl.com '>" +      
       "< /audio>" + <br/> 
       "< /body>" + 
       "< /html>"; 

engine.loadData(audioTest, "text/html", null); 

2.3.3 için çalışmak için aynı kodu nasıl alabilirim? Araştırmamda, video dosyasını kullanarak ses dosyasını çalabilen birine rastladım, ancak çalışmayı başaramadım. Herhangi bir paylaşılan bilgi büyük takdir edilecektir.

cevap

3

Yep. Ne yazık ki HTML5 ses elemanı sadece Gingerbread'dan desteklenmektedir.

Ses etiketinin 2.2 & 2.3'de bir şekilde desteklendiğini okudum, ancak bazı garip nedenlerden dolayı mp3 & ogg codec'leri bulunmuyor. Bu nedenle, Android 2.3'e kadar olan telefonlarda desteklense bile faydasızdır.

ÇÖZÜM 1 video etiketi geçici çözüm (1.6 2.2) takip ediyor:

<video src="soundfile.mp3" onclick="this.play();"></video> 

bir sen

çalışılmıştır?

ÇÖZÜM 2 diğer olası çözüm (2.2+) UbaPlayer gibi bir JQuery Oyuncu Flash ile yedek özelliğini uygulamaktır.

..Hope bu yardımcı olur :) ayrıca

0

I:

ÇÖZÜM 3 Son olarak .. Burada StackOverflow'daki başka bir kullanıcı tarafından bir java geçici çözüm, var aynı sorun vardı, benim için çalıştı çözüm .. kullanın Mediaplayer (Ses oynatmak için Android 10). sen ..

WebView webView = (WebView) findViewById(R.id.webview); 
webView.addJavascriptInterface(new WebAppInterface(this), "Android"); 
-------------------------------- 
public class WebAppInterface { 

    Context mContext; 
    /** Instantiate the interface and set the context */ 
    WebAppInterface(Context c) { 
     mContext = c; 
    } 

    /** Show a toast from the web page */ 
    @JavascriptInterface 
    public void showToast(String toast) { 
     Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); 
    } 
} 

--------------------------- 
java sript code 

<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" /> 

<script type="text/javascript"> 
    function showAndroidToast(toast) { 
     Android.showToast(toast); 
    } 
</script> 

Android kodundan ses çağırmak Bu şekilde HTML dosyasında yazdım javascript android işlevini çağırabilirsiniz. Herhangi bir yeni ziyaretçiler için

1

Sadece hızlı bir liner - senin webview ayarları kod içindeki aşağıdaki kullanmayı deneyin:

mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false); 

başarıyla ses çalma sorununu giderir!

0

Tag Audio, .loadUrl("https://webpage.html") numaralı telefonu kullanarak benim için çalıştı.

.loadData(htmlString, "text/html", null) ile Desteklenmeyen mime iletileri gösteriliyordu.

İlgili konular