2012-12-29 66 views
8

Tôi đang chạy luồng qua MediaPlayer. Khi bộ đệm bắt đầu, mã 701 được ném. Khi đệm kết thúc, mã 702 được ném.MediaPlayer.OnInfoListener "mã 703" là gì?

Tất cả các mã được tìm thấy trên số link này.

Tuy nhiên, MediaPlayer.OnInfoListener trước tiên sẽ ném mã 703 mà tôi không thể tìm thấy ở bất kỳ đâu. Đây là mã và đầu ra gỡ lỗi.

mPlayer.setOnInfoListener(new MediaPlayer.OnInfoListener() { 
    @Override 
    public boolean onInfo(MediaPlayer mediaPlayer, int i, int i2) { 
     Log.d(TAG, "MediaPlayer.OnInfoListener: " + i); 
     return false; 
    } 
}); 

Logcat:

12-29 13:40:54.995: DEBUG/StreamingService(13811): MediaPlayer.OnInfoListener: 703 
12-29 13:40:55.000: DEBUG/StreamingService(13811): MediaPlayer.OnInfoListener: 701 
12-29 13:41:09.055: DEBUG/StreamingService(13811): MediaPlayer.OnInfoListener: 702 
12-29 13:41:10.770: DEBUG/StreamingService(13811): MediaPlayer.OnCompletionListener 

được gì đang 703 ném qua MediaPlayer.OnInfoListener?

Trả lời

13

Mã 703 phải là MEDIA_INFO_NETWORK_BANDWIDTH: "Băng thông trong quá khứ gần đây" (source).

Đây không phải là lỗi thực sự. Đó là mã trạng thái để biết thông tin về những gì đang diễn ra trong khung phương tiện. Nhìn vào mã nguồn AwesomePlayer tôi thấy rằng nó sẽ gửi ra MEDIA_INFO_NETWORK_BANDWIDTH nếu bộ nhớ cache dữ liệu luồng đang chạy thấp, điều này cuối cùng sẽ xảy ra nếu bạn đột nhiên vô hiệu hóa kết nối internet. Sau đó nó sẽ tạm dừng phát lại và bắt đầu cố gắng để đệm thêm một số dữ liệu, được biểu thị bằng thông báo MEDIA_INFO_BUFFERING_START (mã 701).

+0

Cảm ơn. Tôi tự hỏi ở đâu và làm thế nào bạn tìm thấy điều này :). Nhưng những câu hỏi chính bây giờ là: "Băng thông trong quá khứ gần đây" có nghĩa là gì? Bạn có một đầu mối? – sandalone

+1

"trong đó": xem liên kết trong câu trả lời của tôi. "làm thế nào": Tôi làm việc với Android đa phương tiện để kiếm sống, vì vậy tôi có một ý tưởng khá tốt về nơi tôi nên xem xét. Đối với những gì mã thông tin này có nghĩa là, tôi đoán sẽ là đối số thứ hai chứa số lượng băng thông đã được sử dụng cho streaming phương tiện truyền thông trong "quá khứ gần đây" (bất cứ điều gì có thể được). – Michael

+0

Cảm ơn bạn lần nữa. Mã 703 có nghĩa là bộ đệm không phải là 100% trống không? Tôi hỏi khi điều này xảy ra: Tôi tắt Internet trong khi phát trực tuyến, âm thanh ngừng cố gắng lấp đầy bộ đệm, ** sau đó nó bắt đầu phát dưới 1 giây ** (bạn không có kết nối Internet) và sau đó tôi nhận được lỗi 702 và 'onCompletion' được gọi. – sandalone