2011-09-21 30 views
6

Tôi có thể phát video trên youtube theo số WebView. Tôi muốn hoàn thành/đóng/hủy tự động WebView khi video youtube hoàn tất.cách nhận sự kiện hoàn thành video trên youtube trong webview android

đây là mã của tôi:

WebView engine = new WebView(this); 
    engine.getSettings().setJavaScriptEnabled(true); 
    engine.getSettings().setPluginsEnabled(true); 
    engine.loadUrl("http://www.youtube.com/embed/bIPcobKMB94?autoplay=1&rel=0&loop=0");//&enablejsapi=1"); 
    setContentView(engine); 

Thật sự tôi đã cố gắng để chơi bài hát (audio/video) từ danh sách nhạc khi âm thanh có trong danh sách nhạc nó chơi trong máy nghe nhạc tùy chỉnh của tôi và khi youtube video là có được phát trong WebView và các bài hát sẽ tự động phát một lần sau khi hoàn thành. Video Youtube được phát trong WebView nhưng sau khi hoàn thành video, webview vẫn mở (sẽ không bị hủy/kết thúc). Làm thế nào tôi có thể hoàn thành WebView và quay lại hoạt động trước đó?

Trả lời

1

Triển khai chế độ xem web của Android ẩn các API và gọi lại liên quan đến MediaPlayer cơ bản. Tình huống duy nhất khi ứng dụng đi vào hình ảnh là khi người dùng cố gắng xem toàn màn hình (nhấp vào biểu tượng toàn màn hình trong video được nhúng trong WebView). Trong trường hợp này, onShowCustomView() được gọi trở lại miễn là ứng dụng đã triển khai và đăng ký một cuộc gọi lại WebChromeClient. Không có cách nào để bạn biết khi nào một video đã phát xong trong một lần xem web.

Tôi biết đây không phải là những gì bạn đã hỏi: nhưng tại sao không sử dụng ứng dụng youtube bằng cách gửi ý định phát url? Bạn có thể sử dụng phương thức startActivityForResult() sẽ gọi lại hàm onActivityFinished() của bạn (bạn phải thực hiện gọi lại này) với một mã kết quả. Điều này sẽ không làm việc cho bạn?

+1

cảm ơn câu trả lời của bạn. nhưng tôi không muốn người dùng đó ra ngoài ứng dụng của tôi. Nếu không thì sử dụng startActivityForResult thì có thể –

Các vấn đề liên quan