Android MediaPlayer Error/Info Code

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) 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115531.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 布线问题(分支限界法)

    布线问题(分支限界法)一、首先说一下分支限界法的思想:(1)比较:分支限界法和回朔法有相似之处,但是回朔法是搜索问题的所有解,采用深度优先搜索;而分支限界法是搜索问题的最优解,采用的是广度优先搜索;(2)核心思想:分支

    2022年7月2日
    27
  • Python之PIL生成验证码

    Python之PIL生成验证码

    2021年5月24日
    137
  • mybatiscodehelperpro官网_Mybatis框架

    mybatiscodehelperpro官网_Mybatis框架一.环境准备1.下载MybatisCodeHelperPro方式有两种,一种是离线安装,网址:SearchResults|JetBrainsMarketplace,注意下载时的版本要与idea版本契合,一种是通过idea的插件市场下载,由于我很少能够打开插件市场,并且不容易激活成功教程,而且老师发了现成的,所以我选择第一种。2.安装选择压缩包(不用解压),点击OK,重启idea并激活插件3.激活成功教程进去之后会让你激活,点一下,或者激活码只要不是重复的,随…

    2022年9月21日
    5
  • javaweb酒店管理系统设计与实现_java餐饮管理系统源码

    javaweb酒店管理系统设计与实现_java餐饮管理系统源码前言学习java这段时间以来,给我的感觉是非常枯燥和乏味的,因为学习编程这个过程就是这样,除此之外我是自学,所以遇到问题只能自己上网找资料,或者看一些大佬的文章来解决问题。不过学习过程中让我接触到了这样一个非常有趣的项目:酒店管理系统的小型项目,实现了一些功能,废话不多说看题目。题目为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能要求:该系统的用户是:酒店前台。 酒店使用一个二维数组来模拟。“Room[][]room;”…

    2025年12月3日
    6
  • windows 开机自动登录并锁定「建议收藏」

    windows 开机自动登录并锁定「建议收藏」首先来看看系统启动自动登录的设置:  按住Win键,再按R键(Win+R),启动”运行”窗口;  WindowsXP/2003/2008/2008R2输入”controluserpasswords2″(不含引号)回车;  Windows7输入”netplwiz”(不含引号),回车;  在”用户帐户”-“用户”界面中,取消”要使用本机,用户必须输入用户名和密码(E)”复选框;  按”确定”按钮

    2022年7月21日
    31
  • 【TCP/IP】IP地址的划分及其分类

    【TCP/IP】IP地址的划分及其分类了解Internet中使用的网络层地址,又称IP地址。每个设备都至少需要一个IP地址,其可以作为我们设备的标识,就跟我们的电话号码一样,知道了电话号码就能找到我们,所以每个IP地址都是唯一的,所以在给每台设备分配IP时,会根据一套编号方案进行。IP作用于OSI参考模型中的网络层,在终端通信中作为唯一标识,便于确定数据的传递目标。IP地址分为:IPv4、IPv6大多数用户熟悉并且流行的IP地址是IPv4,其是用点分四组十进制的表示方法展示的,例如165.195.130.107

    2022年6月14日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号