Android为TV端助力 MediaPlayer 错误代码(error code)总结 转载

  1. public static final int MEDIA_ERROR_IO   
  2. Added in API level 17 File or network related operation errors.   
  3.   
  4. Constant Value: -1004 (0xfffffc14)   
  5. public static final int MEDIA_ERROR_MALFORMED   
  6. Added in API level 17 Bitstream is not conforming to the related coding standard or file spec.   
  7.   
  8. Constant Value: -1007 (0xfffffc11)   
  9. public static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK   
  10. Added in API level 3 The video is streamed and its container is not valid for progressive playback i.e the video's index (e.g moov atom) is not at the start of the file.  
  11.   
  12. See Also  
  13. MediaPlayer.OnErrorListener   
  14. Constant Value: 200 (0x000000c8)   
  15. public static final int MEDIA_ERROR_SERVER_DIED   
  16. Added in API level 1 Media server died. In this case, the application must release the MediaPlayer object and instantiate a new one.  
  17.   
  18. See Also  
  19. MediaPlayer.OnErrorListener   
  20. Constant Value: 100 (0x00000064)   
  21. public static final int MEDIA_ERROR_TIMED_OUT   
  22. Added in API level 17 Some operation takes too long to complete, usually more than 3-5 seconds.   
  23.   
  24. Constant Value: -110 (0xffffff92)   
  25. public static final int MEDIA_ERROR_UNKNOWN   
  26. Added in API level 1 Unspecified media player error.  
  27.   
  28. See Also  
  29. MediaPlayer.OnErrorListener   
  30. Constant Value: 1 (0x00000001)   
  31. public static final int MEDIA_ERROR_UNSUPPORTED   
  32. Added in API level 17 Bitstream is conforming to the related coding standard or file spec, but the media framework does not support the feature.   
  33.   
  34. Constant Value: -1010 (0xfffffc0e)   
  35. public static final int MEDIA_INFO_BAD_INTERLEAVING   
  36. Added in API level 3 Bad interleaving means that a media has been improperly interleaved or not interleaved at all, e.g has all the video samples first then all the audio ones. Video is playing but a lot of disk seeks may be happening.  
  37.   
  38. See Also  
  39. MediaPlayer.OnInfoListener   
  40. Constant Value: 800 (0x00000320)   
  41. public static final int MEDIA_INFO_BUFFERING_END   
  42. Added in API level 9 MediaPlayer is resuming playback after filling buffers.  
  43.   
  44. See Also  
  45. MediaPlayer.OnInfoListener   
  46. Constant Value: 702 (0x000002be)   
  47. public static final int MEDIA_INFO_BUFFERING_START   
  48. Added in API level 9 MediaPlayer is temporarily pausing playback internally in order to buffer more data.  
  49.   
  50. See Also  
  51. MediaPlayer.OnInfoListener   
  52. Constant Value: 701 (0x000002bd)   
  53. public static final int MEDIA_INFO_METADATA_UPDATE   
  54. Added in API level 5 A new set of metadata is available.  
  55.   
  56. See Also  
  57. MediaPlayer.OnInfoListener   
  58. Constant Value: 802 (0x00000322)   
  59. public static final int MEDIA_INFO_NOT_SEEKABLE   
  60. Added in API level 3 The media cannot be seeked (e.g live stream)  
  61.   
  62. See Also  
  63. MediaPlayer.OnInfoListener   
  64. Constant Value: 801 (0x00000321)   
  65. public static final int MEDIA_INFO_UNKNOWN   
  66. Added in API level 3 Unspecified media player info.  
  67.   
  68. See Also  
  69. MediaPlayer.OnInfoListener   
  70. Constant Value: 1 (0x00000001)   
  71. public static final int MEDIA_INFO_VIDEO_RENDERING_START   
  72. Added in API level 17 The player just pushed the very first video frame for rendering.  
  73.   
  74. See Also  
  75. MediaPlayer.OnInfoListener   
  76. Constant Value: 3 (0x00000003)   
  77. public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING   
  78. Added in API level 3 The video is too complex for the decoder: it can't decode frames fast enough. Possibly only the audio plays fine at this stage.  
  79.   
  80. See Also  
  81. MediaPlayer.OnInfoListener   
  82. Constant Value: 700 (0x000002bc)   

mediaPlayer.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.d(TAG, "OnError - Error code: " + what + " Extra code: " + extra);
switch (what) {
case -1004:
Log.d(TAG, "MEDIA_ERROR_IO");
break;
case -1007:
Log.d(TAG, "MEDIA_ERROR_MALFORMED");
break;
case 200:
Log.d(TAG, "MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK");
break;
case 100:
Log.d(TAG, "MEDIA_ERROR_SERVER_DIED");
break;
case -110:
Log.d(TAG, "MEDIA_ERROR_TIMED_OUT");
break;
case 1:
Log.d(TAG, "MEDIA_ERROR_UNKNOWN");
break;
case -1010:
Log.d(TAG, "MEDIA_ERROR_UNSUPPORTED");
break;
}
switch (extra) {
case 800:
Log.d(TAG, "MEDIA_INFO_BAD_INTERLEAVING");
break;
case 702:
Log.d(TAG, "MEDIA_INFO_BUFFERING_END");
break;
case 701:
Log.d(TAG, "MEDIA_INFO_METADATA_UPDATE");
break;
case 802:
Log.d(TAG, "MEDIA_INFO_METADATA_UPDATE");
break;
case 801:
Log.d(TAG, "MEDIA_INFO_NOT_SEEKABLE");
break;
case 1:
Log.d(TAG, "MEDIA_INFO_UNKNOWN");
break;
case 3:
Log.d(TAG, "MEDIA_INFO_VIDEO_RENDERING_START");
break;
case 700:
Log.d(TAG, "MEDIA_INFO_VIDEO_TRACK_LAGGING");
break;
}
return false;
}
});

原文地址:https://www.cnblogs.com/xiaoxiaing/p/6591178.html