Android为TV端助力 MediaPlayer 错误代码(error code)总结 转载
- 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)
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;
}
});
Android为TV端助力 MediaPlayer 错误代码(error code)总结 转载的更多相关文章
- Android为TV端助力 MediaPlayer API大全已经方法详解(转载)
通过这张图,我们可以知道一个MediaPlayer对象有以下的状态: 1)当一个MediaPlayer对象被刚刚用new操作符创建或是调用了reset()方法后,它就处于Idle状态.当调用了rele ...
- Android为TV端助力 MediaPlayer的一些使用方法简历
这里提供一些MediaPlayer的简单方法,方便以后熟练的使用它! 1)如何获得MediaPlayer实例: 可以使用直接new的方式: MediaPlayer mp = new MediaPlay ...
- Android为TV端助力之Webview与JS双向交互
package com.hhzt.iptv.adservice; import android.app.Activity;import android.graphics.Bitmap;import a ...
- Android为TV端助力 转载:RecyclerView分页加载
package com.android.ryane.pulltoloaddata_recyclerview; import android.os.Handler;import android.os.L ...
- Android为TV端助力(转载)
作者地址http://www.jianshu.com/u/63915ef020e2 针对Android Tv的自定义RecyclerView 作者 wenju_song 关注 2016.12.09 1 ...
- Android为TV端助力 转载:android MVC设计模式
Controller控制器 import android.app.Dialog; import android.app.ProgressDialog; import android.os.Bundle ...
- Android为TV端助力 不需要Socket的跨进程推送消息AIDL!
上篇介绍了跨进程实时通讯http://www.cnblogs.com/xiaoxiaing/p/5818161.html 但是他有个缺点就是服务端无法推送消息给客户端,今天这篇文章主要说的就是服务器推 ...
- Android为TV端助力 eclipse出现感叹号的解决办法
当eclipse导入项目出现红叉但无提示错误时,去看:1>菜单路径----Window/Show View/Console2>菜单路径----Window/Show View/Error ...
- Android为TV端助力之WebView开发踩坑一
在Android清单配置文件里面 自定义application时,在4.4系统上面不能加上一个属性,见下图 否则界面将不会显示任何数据,在更高或者更低的系统上面没有测试!
随机推荐
- JMS(Java消息服务)与消息队列ActiveMQ基本使用(一)
最近的项目中用到了mq,之前自己一直在码农一样的照葫芦画瓢.最近几天研究了下,把自己所有看下来的文档和了解总结一下. 一. 认识JMS 1.概述 对于JMS,百度百科,是这样介绍的:JMS即Java消 ...
- [Swift]LeetCode320. 通用简写 $ Generalized Abbreviation
Write a function to generate the generalized abbreviations of a word. Example: Given word = "wo ...
- python—day9 函数的定义、操作使用方法、函数的分类、函数的嵌套调用
一.函数的定义 函数的四个组成部分: 函数名. 函数体. 函数返回值. 函数参数 1.概念:重复利用的工具,可以完成特定功能的代码块,函数是存放代码块的容器 2.定义: def:声明函数的关键词 函数 ...
- Python时间和时间戳互相转换
# 将时间变成时间戳 def tranftimestamp(stringtime): try: return time.mktime(time.strptime(stringtime, "% ...
- 一个.NET Core开发者的Linux入门学习笔记
用.NET Core开发也有一段时间了,但是由于工作原因一直都是在Windows系统上进行的开发,一直想学习Linux然后把.NET Core开发的程序跑在Linux上,然后把心得体会记录一下发布再博 ...
- docker for mac 创建私有仓库
拉取镜像 docker pull registry 运行registry run -d -p : -v /Users/huangenai/docker/registry:/var/lib/regist ...
- Elasticsearch之删除索引
1. #删除指定索引 # curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-2018.08.09 {&qu ...
- IdentityServer4实战 - 谈谈 JWT 的安全策略
一.前言 众所周知,IdentityServer4 默认支持两种类型的 Token,一种是 Reference Token,一种是 JWT Token .前者的特点是 Token 的有效与否是由 To ...
- cmake安装配置及入门指南
前言 今天,从github下载代码学习,让我用cmake编译,纳尼?make我知道,cmake是啥鬼?天啊,无知很可怕!赶紧mark一波,虽然很耽误学习进度,但感觉还是要get一波! 一.安装准备 感 ...
- 使用Flume消费Kafka数据到HDFS
1.概述 对于数据的转发,Kafka是一个不错的选择.Kafka能够装载数据到消息队列,然后等待其他业务场景去消费这些数据,Kafka的应用接口API非常的丰富,支持各种存储介质,例如HDFS.HBa ...