2012-09-07 30 views

cevap

0

: "Ben WebView'ı aşağılamak zaman videonun ses çalmaya devam eder".

Bu özel bir uygulama mı? Öyleyse, uygulama manifest dosyasını android ile oluşturmanız gerekir: hardwareAccelerated = true (bunu ICS veya JB üzerinde yaptığınızı varsayarak). Donanım hızlandırması olmadan sadece sesi duyacaksınız ama video görülemiyor (gördüğünüz gibi geliyor). Bildirge dosyanızı değiştirmeyle ilgili bazı bilgiler: http://developer.android.com/guide/topics/graphics/hardware-accel.html

4

Görüntüyü kapattığınızda "Web Görünümünü düşürürüm" ifadesini kullanıyorum. Her neyse, aynı yaklaşımı denedim - webview.destroy() öğesini çağırdım ve aynı çökmeyi yaptım. çalıştı

sadece yaklaşımı ("utf-8 "" ""," text/html) _webView.loadData aramaya vardı; benim etkinlik bitirme() yönteminden. (Bu Yanıta göre: How do I stop Flash after leaving a WebView? OnDestroy çok sonrasına kadar çağrıldığını değildi gerçekten işe yaramadı)

.

5

Bu işlem için WebView onPause() ve onResume() yöntemlerini çağırmalıdır. Genellikle bunu Aktivitenin onPause() ve onResume() üzerinde gerçekleştirirsiniz, ancak WebView'ı bir şekilde sakladığınızda ve içeriğini her ne yapıyorsa Javascript'i çalıştırmak veya bir HTML5 videosu oynatmak gibi yapmaktan vazgeçerseniz de yapabilirsiniz. içinde, geri faaliyet OnPause yaşam döngüsü çağrısı bağlı video/ses duraklatmak Ayrıca Java çalıştırabiliriz WebView.class.getMethod("onPause").invoke(myWebView);

0

: Eğer önceden 11'e API seviyelerinde bu yöntemleri gerekiyorsa

, böyle yansıma kullanabilirsiniz Aşağıdaki örnek ses için yaptım (çalıştı). Umarım 'ses' kelimesini 'video' olarak değiştirmek sizin için hile yapar.

@Override 
protected void onPause() { 

    executeJavascript("javascript:document.querySelector('audio').pause();", new ValueCallback() { 
     @Override 
     public void onReceiveValue(Object value) { 
      Trace.d(TAG, value.toString()); 
     } 
    }); 

    super.onPause(); 
} 

ve

private void executeJavascript(String javascript, ValueCallback callback){ 
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) { 
     mWebView.evaluateJavascript(javascript, callback); 
    } else { 
     mWebView.loadUrl(javascript); 
    } 
} 
İlgili konular