Android 13 - Media框架(3)- MediaPlayer生命周期
关注公众号免费阅读全文,进入音视频开发技术分享群!
上一节了解了MediaPlayer api的使用,这一节就我们将会了解MediaPlayer的生命周期与api使用细节。
1、MediaPlayer生命周期
MediaPlayer.java 一开始有对生命周期的描述,这里对这些内容进行翻译:
- MediaPlayer 是线程不安全的,创建以及调用应该在同一个线程中,如果需要使用Callback,那么线程必须要有一个Looper;
- 调用 new 或者 reset 后MediaPlayer进入 Idle状态,release 调用后进入到End状态,这两个状态之间就是 MediaPlayer 对象的生命周期;
- 调用 new 或者 reset都会进入Idle状态,但是它们仍然是有区别的。getDuration 等方法在Idle状态下调用会出现error,如果是new之后调用,虽然会返回error,但是error并不是由内部播放器引擎上抛的,播放器状态仍然保持在Idle状态;如果刚好是在reset之后调用getDuration方法,那么内部播放器引擎会上抛error事件,并且把播放器状态置为Errorÿ
Android 13 - Media框架(3)- MediaPlayer生命周期的更多相关文章
- Android四大基本组件介绍与生命周期
		Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器 ... 
- Android四大组件之——Activity的生命周期(图文详解)
		转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai 联系方式:JohnTsai.Work@gmail.com [Andro ... 
- Android应用程序中Activity的生命周期
		Android应用程序中Activity的生命周期 对于Android来说Activity的生命周期是非常的重要,尤其是对于新学者来说,只有充分了解了Activity的生命周期,才能写出优良用户体验的 ... 
- 【转】Android总结篇系列:Activity生命周期
		[转]Android总结篇系列:Activity生命周期 Android官方文档和其他不少资料都对Activity生命周期进行了详细介绍,在结合资料和项目开发过程中遇到的问题,本文将对Activity ... 
- 【Android】8.0活动的生命周期(一)——理论知识、活动的启动方式
		1.0 Android是使用任务(Task)来管理活动的,活动就像栈一样堆放着在一起. 每个活动的生命周期最多可能会有四种状态: 1.1 运行状态 位于栈顶 1.2 暂停状态 不在栈顶但在界面上仍处于 ... 
- 【转】Android四大基本组件介绍与生命周期
		转自:http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html Android四大基本组件分别是Activity,Serv ... 
- Android -- Service的开启关闭与生命周期
		Service是Android 系统中的四大组件之一,是在一段不定的时间运行在后台,不和用户交互应用组件. service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity ... 
- 面试题: Spring 框架 Bean的生命周期
		[Java面试五]Spring总结以及在面试中的一些问题. 1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本 ... 
- Android四大基本组件介绍及生命周期
		Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一.了解四大基本组件 Activity ... 
- Android 中 OkHttp 三步实现生命周期绑定
		简介 OkHttps 是 OkHttp 增强版的超轻量封装包. 和 Retrofit 相比,它更加轻量(只有 59Kb),是 Retrofit (124Kb)的一半,而且更加的开箱即用,API 更加自 ... 
随机推荐
- Har 版本包发布
			新建 Module 注意名字最好是小写命名 oh-package.json5 修改 description 描述信息 在 Index.ets 导出对外暴露的组件 export{ TitleBar } ... 
- vue+mockjs模拟用户登录接口(高仿书旗)
			项目demo:http://39.103.131.74:8888/shuqi 
- 从“预见”到“遇见” | SAE 引领应用步入 Serverless 全托管新时代
			简介: 阿里云 Serverless 应用引擎(简称 SAE)初衷是让客户不改任何代码,不改变应用部署方式,就可以享受到微服务+K8s+Serverless 的完整体验,开箱即用免运维.作为业界首款面 ... 
- Flink 实时计算在微博的应用
			简介: 微博通过将 Flink 实时流计算框架跟业务场景相结合,在平台化.服务化方面做了很大的工作,在开发效率.稳定性方面也做了很多优化.我们通过模块化设计和平台化开发,提高开发效率. 微博机器学习研 ... 
- 搜索NLP行业模型和轻量化客户定制
			简介:开放搜索NLP行业模型和轻量化客户定制方案,解决减少客户标注成本.完全无标注或少量简单标注的等问题,让搜索领域扩展更易用. 特邀嘉宾: 徐光伟(昆卡)--阿里巴巴算法专家 搜索NLP算法 搜索 ... 
- dubbo-go v3 版本 go module 踩坑记
			简介: 该问题源于我们想对 dubbo-go 的 module path 做一次变更,使用 dubbo.apache.org/dubbo-go/v3 替换之前的 github.com/apache/d ... 
- Oracle数据到MaxCompute乱码问题详解
			简介:集成Oracle数据到MaxCompute,乱码问题分析: 为什么,在oracle数据不乱码,集成到MaxCompute就乱码了? 问题在哪里? 1.1 乱码现象 DataWorks的数据离线 ... 
- 治理企业“数据悬河”,阿里云DataWorks全链路数据治理新品发布
			简介: 10月19日,在2021年云栖大会上,阿里云重磅发布DataWorks全链路数据治理产品体系,基于数据仓库,数据湖.湖仓一体等多种大数据架构,DataWorks帮助企业治理内部不断上涨的&q ... 
- [FAQ] 没有docker用户组,怎么让普通用户有权限操作docker
			如果没有docker用户组,可以通过以下步骤让普通用户有权限操作docker: 创建一个名为docker的用户组: sudo groupadd docker 将当前用户添加到docker用户组中: ... 
- pod QoS等级(A)
			一.了解Pod Qos等级 一个节点不一定能提供所有pod所指定的资源limits之和那么多的资源量. 假设有两个pod,pod A使用了节点内存的 90%,pod B突然需要比之前更多的内存,这时节 ... 
 
			
		