Android MediaPlayer Error/Info Code
1. 常见错误
error(-38, 0)
我认为-38表示在当前的MediaPlayer状态下,不能执行你的操作。
具体如何做请参考:Android MediaPlayer
另外我在其他资料中,发现有人认为-38定义在:pvmf_return_codes.h文件中:
-38: DRM clock is not available or cannot be read
0: Return code for pending completion
/* * DRM clock is not available or cannot be read */ const PVMFStatus PVMFErrDrmClockError = (-38); /* * Return code for pending completion */ const PVMFStatus PVMFPending = 0;
error (1, -2147483648)
1: 其实代表MEDIA_ERROR_UNKNOWN
-2147483648: (0x80000000)没有做什么说明,实际上它也是代表unknown error
这中错误大多是在播放MP4的时候出现,主要原因是因为当前的机器不支持这种视频编码(H263,H264,MPEG-3等,不是视频容器格式)
2. MediaError.h
enum { MEDIA_ERROR_BASE = -1000, ERROR_ALREADY_CONNECTED = MEDIA_ERROR_BASE, ERROR_NOT_CONNECTED = MEDIA_ERROR_BASE - 1, ERROR_UNKNOWN_HOST = MEDIA_ERROR_BASE - 2, ERROR_CANNOT_CONNECT = MEDIA_ERROR_BASE - 3, ERROR_IO = MEDIA_ERROR_BASE - 4, ERROR_CONNECTION_LOST = MEDIA_ERROR_BASE - 5, ERROR_MALFORMED = MEDIA_ERROR_BASE - 7, ERROR_OUT_OF_RANGE = MEDIA_ERROR_BASE - 8, ERROR_BUFFER_TOO_SMALL = MEDIA_ERROR_BASE - 9, ERROR_UNSUPPORTED = MEDIA_ERROR_BASE - 10, ERROR_END_OF_STREAM = MEDIA_ERROR_BASE - 11, // Not technically an error. INFO_FORMAT_CHANGED = MEDIA_ERROR_BASE - 12, INFO_DISCONTINUITY = MEDIA_ERROR_BASE - 13, INFO_OUTPUT_BUFFERS_CHANGED = MEDIA_ERROR_BASE - 14, // The following constant values should be in sync with // drm/drm_framework_common.h DRM_ERROR_BASE = -2000, ERROR_DRM_UNKNOWN = DRM_ERROR_BASE, ERROR_DRM_NO_LICENSE = DRM_ERROR_BASE - 1, ERROR_DRM_LICENSE_EXPIRED = DRM_ERROR_BASE - 2, ERROR_DRM_SESSION_NOT_OPENED = DRM_ERROR_BASE - 3, ERROR_DRM_DECRYPT_UNIT_NOT_INITIALIZED = DRM_ERROR_BASE - 4, ERROR_DRM_DECRYPT = DRM_ERROR_BASE - 5, ERROR_DRM_CANNOT_HANDLE = DRM_ERROR_BASE - 6, ERROR_DRM_TAMPER_DETECTED = DRM_ERROR_BASE - 7, ERROR_DRM_NOT_PROVISIONED = DRM_ERROR_BASE - 8, ERROR_DRM_DEVICE_REVOKED = DRM_ERROR_BASE - 9, ERROR_DRM_RESOURCE_BUSY = DRM_ERROR_BASE - 10, ERROR_DRM_VENDOR_MAX = DRM_ERROR_BASE - 500, ERROR_DRM_VENDOR_MIN = DRM_ERROR_BASE - 999, // Heartbeat Error Codes HEARTBEAT_ERROR_BASE = -3000, ERROR_HEARTBEAT_TERMINATE_REQUESTED = HEARTBEAT_ERROR_BASE, };
3. MediaPlayer
public static final int MEDIA_ERROR_IO Added in API level 17 File or network related operation errors. Constant Value: -1004 (0xfffffc14) public static final int MEDIA_ERROR_MALFORMED Added in API level 17 Bitstream is not conforming to the related coding standard or file spec. Constant Value: -1007 (0xfffffc11) public static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK 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. See Also MediaPlayer.OnErrorListener Constant Value: 200 (0x000000c8) public static final int MEDIA_ERROR_SERVER_DIED Added in API level 1 Media server died. In this case, the application must release the MediaPlayer object and instantiate a new one. See Also MediaPlayer.OnErrorListener Constant Value: 100 (0x00000064) public static final int MEDIA_ERROR_TIMED_OUT Added in API level 17 Some operation takes too long to complete, usually more than 3-5 seconds. Constant Value: -110 (0xffffff92) public static final int MEDIA_ERROR_UNKNOWN Added in API level 1 Unspecified media player error. See Also MediaPlayer.OnErrorListener Constant Value: 1 (0x00000001) public static final int MEDIA_ERROR_UNSUPPORTED 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. Constant Value: -1010 (0xfffffc0e) public static final int MEDIA_INFO_BAD_INTERLEAVING 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. See Also MediaPlayer.OnInfoListener Constant Value: 800 (0x00000320) public static final int MEDIA_INFO_BUFFERING_END Added in API level 9 MediaPlayer is resuming playback after filling buffers. See Also MediaPlayer.OnInfoListener Constant Value: 702 (0x000002be) public static final int MEDIA_INFO_BUFFERING_START Added in API level 9 MediaPlayer is temporarily pausing playback internally in order to buffer more data. See Also MediaPlayer.OnInfoListener Constant Value: 701 (0x000002bd) public static final int MEDIA_INFO_METADATA_UPDATE Added in API level 5 A new set of metadata is available. See Also MediaPlayer.OnInfoListener Constant Value: 802 (0x00000322) public static final int MEDIA_INFO_NOT_SEEKABLE Added in API level 3 The media cannot be seeked (e.g live stream) See Also MediaPlayer.OnInfoListener Constant Value: 801 (0x00000321) public static final int MEDIA_INFO_UNKNOWN Added in API level 3 Unspecified media player info. See Also MediaPlayer.OnInfoListener Constant Value: 1 (0x00000001) public static final int MEDIA_INFO_VIDEO_RENDERING_START Added in API level 17 The player just pushed the very first video frame for rendering. See Also MediaPlayer.OnInfoListener Constant Value: 3 (0x00000003) public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING 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. See Also MediaPlayer.OnInfoListener Constant Value: 700 (0x000002bc)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。