24

Để xem video trong Android, tôi đã thêm một số trình phát đa phương tiện như onPreparedListener, onCompletionListener etc. Nhưng khi video hoàn tất thì onCompletionListener sẽ không được gọi. Ngoài ra chúng tôi quan sát thấy rằng một cái gì đó trênCompletionListener được gọi và đôi khi không.Trong tab thiên hà, onCompletionListener của videoView không được gọi là

Sự cố này chỉ xảy ra đối với máy tính bảng Samsung Galaxy Phiên bản hệ điều hành 4.1.2. Và cùng một mã đã hoạt động đúng trên một thiết bị Samsung khác như S2, S3, S4, v.v.

Có ai có ý tưởng không?

+1

Bạn có thấy điều gì đó lạ trong LogCat không? Tôi đề nghị bạn theo dõi hành vi phát lại và hơn là đăng một LogCat đầy đủ (bất kỳ ngoại lệ phương tiện nào có thể hữu ích) – bonnyz

+2

https://code.google.com/p/android/issues/detail?id=59185 liên quan? – Slartibartfast

+2

Chúng tôi có thể thấy mã người nghe không? – matty357

Trả lời

1

Hai nhận xét.

  1. Để kiểm tra xem VideoView có gây ra sự cố không. vì giao diện OnCompletionListener của VideoView chỉ là một gói cho giao diện OnCompletionListener của MediaPlayer, bạn có thể sử dụng MediaPlayer trực tiếp để phát tệp video và kiểm tra xem OnCompletionListener của nó có hoạt động hay không.

    -Nếu điều tương tự xảy ra, có nghĩa là MediaPlayer không thể phát tệp video chính xác, có thể bạn cần kiểm tra kỹ lưỡng số gọi lại onError().

  2. kiểm tra xem tệp video hoặc Uri trỏ đến tệp video bị hỏng hay không, bạn có thể sử dụng các công cụ như mp4dump để kết xuất thông tin tệp.

Hy vọng điều đó sẽ hữu ích.

0

Tôi không chắc nhưng chỉ là một mẹo có thể giải quyết vấn đề của bạn: tìm tổng thời lượng của video và kiểm tra xem vị trí hiện tại có đạt được hay không. nếu điều kiện thỏa mãn, hãy sao chép mã của onCompletion tại đây.

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