Tôi có một WebView lưu trữ video được nhúng. khi tôi làm suy giảm Webview, âm thanh của video tiếp tục phát. Làm thế nào tôi có thể ngăn chặn điều này? Tôi đã thử webview.destroy();
nhưng lực đó đóng ứng dụng khi tôi cố gắng mở lại WebView.WebView với số lần phát video được nhúng trong nền
Trả lời
Ý của bạn là gì: "khi tôi làm giảm Webview thì âm thanh của video tiếp tục phát".
Đây có phải là ứng dụng tùy chỉnh không? Nếu vậy, bạn cần tạo tệp kê khai ứng dụng của mình với android: hardwareAccelerated = true (giả sử bạn đang thực hiện điều này trên ICS hoặc JB). Nếu không có khả năng tăng tốc phần cứng, bạn sẽ chỉ nghe thấy âm thanh nhưng video không thể nhìn thấy (đó là những gì nó âm thanh như bạn đang nhìn thấy). Dưới đây là một số thông tin về cách thay đổi tệp kê khai của bạn: http://developer.android.com/guide/topics/graphics/hardware-accel.html
Tôi giả định rằng "khi tôi làm giảm Webview" thành khi bạn đóng chế độ xem. Dù sao, tôi cũng đã thử phương pháp tương tự - gọi webview.destroy() và đã gặp sự cố tương tự như bạn.
Cách tiếp cận duy nhất hoạt động là gọi _webView.loadData ("", "văn bản/html", "utf-8"); từ phương thức kết thúc hoạt động() của tôi.
(dựa trên câu trả lời này: How do I stop Flash after leaving a WebView? không thực sự hoạt động vì onDestroy không được gọi cho đến sau này).
Bạn phải gọi phương thức onPause()
và onResume()
của WebView cho mục đích đó. Bạn thường làm điều đó trên hoạt động của bạn onPause()
và onResume()
nhưng bạn cũng có thể làm điều đó bất cứ khi nào bạn đang ẩn WebView theo một cách nào đó và nội dung của nó cũng ngừng làm bất cứ điều gì họ đang làm, chẳng hạn như chạy Javascript hoặc phát video HTML5.
Nếu bạn cần những phương pháp này trong các cấp API trước khi đến 11, bạn có thể sử dụng phản ánh như thế này: WebView.class.getMethod("onPause").invoke(myWebView);
Bạn cũng có thể thực hiện kịch bản Java để tạm dừng video/audio trên onPause gọi vòng đời sau của hoạt động này, trong dưới đây ví dụ tôi đã làm nó cho âm thanh (nó làm việc). Hy vọng rằng việc thay đổi 'âm thanh' thành 'video' sẽ giúp bạn.
@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();
}
và
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);
}
}
- 1. WebView sẽ không phát video flash được nhúng
- 2. Video chỉ phát một lần trong Webview của Android
- 3. phát video trên youtube trong WebView
- 4. Phát video youtube được nhúng trong vòng
- 5. Android WebView với video được nhúng trên youtube, nút toàn màn hình đóng băng video
- 6. YouTube Video không phát trong WebView - Android
- 7. Android webview không phát video, jwembedder
- 8. Android - WebView không phát video trên YouTube
- 9. Cách tạo video được nhúng không tự động phát
- 10. OpenCV trên nền tảng được nhúng
- 11. Android nhúng video HTML5
- 12. Xóa lớp phủ "phát trên youtube" trên video được nhúng
- 13. Không thể phát video bên trong WebView bằng thẻ iframe?
- 14. Phát hiện webview trong Android với Javascript
- 15. Phát hiện nếu Flash được cài đặt trên Android và nhúng video Flash vào Hoạt động
- 16. Phát video thực tế được tăng cường với nền trong suốt
- 17. Lưu & khôi phục WebView trong ứng dụng PhoneGap được nhúng
- 18. Cách nhúng và phát video YouTube trong android
- 19. Phonegap Android Webview Video chỉ phát âm thanh
- 20. Làm thế nào để nhúng một tệp video cục bộ vào Html để phát trong UIWebView?
- 21. Chặn yêu cầu nguồn video HTML5 trong Android WebView
- 22. Cách xoay video nhúng UIWebView
- 23. Thay đổi video đang được phát trong video HTML5
- 24. Nhúng video Youtube vào trong ứng dụng Android
- 25. Video Vimeo HTML5 Nhúng
- 26. Nhúng Cordova WebView, Người nhận chưa được đăng ký
- 27. Cách nhúng gps vào video
- 28. Tôi có thể có video có nền trong suốt bằng thẻ video HTML5 không?
- 29. cocoa : Cách tạo nền trong suốt webView?
- 30. Phát hai video với axWindowsMediaPlayer