2011-12-02 6 views
18

Trong Android docs, có một hằng số được xác định MEDIA_ERROR_SERVER_DIED được mô tả như sau: máy chủMEDIA_ERROR_SERVER_DIED có nghĩa là gì?

Truyền thông chết. Trong trường hợp này, ứng dụng phải phát hành đối tượng MediaPlayer và khởi tạo một đối tượng mới.

Điều này có vẻ rất mơ hồ. Máy chủ Media có nghĩa là gì? Tại sao nó sẽ chết? Và có thích hợp để xử lý nó bằng cách ngay lập tức cố gắng để chơi một lần nữa sau đó?

Trả lời

8

Trong Android, hầu hết hoạt động truyền thông (giải mã/mã hóa) xảy ra trong bộ dàn xếp, trừ trường hợp hạn chế, chẳng hạn như phát lại tệp cục bộ bằng cách sử dụng codec phần mềm. Android mediaserver thường xuyên bị treo (hủy bỏ) trên các lỗi phần cứng, các tệp hoặc dữ liệu được định dạng không chính xác. Ừ, xin lỗi!

Vì nhiều hoạt động chia sẻ một bộ trung gian phổ biến, một lỗi trong bất kỳ hoạt động nào có thể gây nhiễu mediaserver. Điều này thường xảy ra nhất khi hoạt động nền, chẳng hạn như máy quét phương tiện hoặc Phim được tạo bằng Tự động tạo ảnh vui nhộn của Google+ cố gắng quét tệp bị hỏng hoặc không được hỗ trợ. Khi điều này xảy ra, các quy trình còn lại sử dụng bộ chuyển đổi mediaserver sẽ nhận được thông báo. Thông báo này được chuyển đến ứng dụng trong trường hợp của MediaPlayer hoặc MediaRecorder.

Khi mediaserver chết, nó sẽ được khởi động lại ngay lập tức. Mặc dù server chết, đối tượng proxy trên ứng dụng vẫn còn sống và đang sử dụng tài nguyên. Do đó cần phải giải phóng đối tượng. Nên an toàn để tạo một tài khoản mới ngay sau khi thông báo.

-2

Điều đó có nghĩa là máy chủ từ nơi bạn đang truyền bất ngờ kết thúc kết nối. Nó có thể xảy ra, thường nó liên quan đến một lỗi "Thiết lập lại kết nối ngang hàng".

Bạn có thể thử kết nối lại có, có thể sau khi chờ một chút.

1

Một điều kiện gây ra điều này là khi MediaPlayer không nhận hoặc ngừng nhận luồng video từ máy chủ. Nếu lỗi xảy ra liên tục ngay lập tức (tức là nếu không nhận được video nào), bạn có thể muốn đảm bảo rằng không có gì (tường lửa, VPN, v.v.) đang chặn tuyến đường của bạn đến máy chủ.