Android MediaPlayer多媒体系统框架

Android音频系统之音频基础 第1章  音频系统 转载请注明:LXS, http://blog.youkuaiyun.com/uiop78uiop78/article/details/8787779 对于一部嵌入式设备来说,除了若干基础功能外(比如手机通话、短信),最重要的可能就是多媒体了——那么一个最简单的问题,什么是多媒体呢? 这个术语对应的英文单词是“Multi-Media”,直译过来就是多媒体。名称就 阅读详情

1.Android MediaPlayer多媒体视频系统框架简介

Mediaplayer是Android系统中最为复杂的媒体播放器, MediaPlayer既可以播放本地的视音频流也可以播放网络的视音频流,Android系统中将Mediaplayer播放器封装成了一个多媒体播放类,因此APP上层开发时需要播放视频时只需要调用MediaPlayer多媒体播放类中对应接口即可,无需关注MediaPlayer具体功能的实现。

MediaPlayer的上层实现是基于Android基本库中Binder机制采用C/S架构进行进程间通讯以便将APP层对MediaPlayer操作指令传给底层;底层是由底层player多媒体系统实现播放器的具体功能(底层player多媒体系统不是该文章的讨论内容)接下来会针对Mediaplayer多媒体系统框架进行详细分析。

2.MediaPlayer多媒体类对外提供的主要接口总结如下:

接口方法

接口方法说明

setDataSource

设置多媒体数据来源(位置)

setVideoSurface Texture

设置用SurfaceHolder来显示多媒体

prepare

准备(同步)

PrepareAsync

准备(异步)

start

开始播放

stop

停止播放

reset

重置MediaPlayer为刚刚创建的状态

getCurrentPostion

获取当前播放位置

getDuration

获取文件的时长

isPlaying

获取MediaPlayer的播放状态

pause

暂停

seekTo

指定播放的位置(以毫秒为单位)

setLooping

设置是否循环播放

release

释放MediaPlayer相关的资源

3.MediaPlayer状态图如下:



3.1. Idle (闲置) 状态和 End (结束) 状态


Android14源码剖析:MediaPlayer与MediaPlayerService区别?(五十四) 本篇目的:Android14源码剖析:MediaPlayer与MediaPlayerService的关联是不是用MediaPlayer、MediaPlayerService的时候,觉得它们就是一个服务呢?继续往下看,来解除你的疑惑…如果不想看中间解析过程,可以直接跳到结尾查看图解…MediaPlayer继承自BnMediaPlayerClient的binder服务端。那么BnMediaPlayerClient来自哪里呢?继续往下看。 阅读详情

相关推荐

Android ijkplayer 强大的视频播放器框架教程 -- 导入demo运行(一)-附件资源

Android ijkplayer 强大的视频播放器框架教程 -- 导入demo运行(一)-附件资源

# ubuntu 系统使用 yum命令报错 There are no enabled repos.Run “yum repolist all“ to see the repos you have...

# ubuntu 系统使用 yum命令报错 There are no enabled repos.Run "yum repolist all" to see the repos you have.You can enable repos with yum-config-manager --enable

段子手168的博客 6683

别再只跑Demo了!用MovieLens数据集完整复现一个电影推荐系统(Python/Pandas实战)

本文详细介绍了如何利用MovieLens数据集从零构建一个完整的电影推荐系统,涵盖数据清洗、特征工程、推荐算法实现(协同过滤和矩阵分解)以及Web服务部署的全流程。通过Python和Pandas实战,读者可以掌握推荐系统的核心技术和生产环境部署技巧,不再局限于简单的Demo运行。

weixin_29062865的博客 150

Linux单独编译设备树,开发者分享 | Petalinux 工程中设备树的介绍

本文来自XILINX嵌入式产品应用工程师 Terry Ni设备树是 Petalinux kernel 的关键组件,接下来以 2020.1 版本为例,为大家介绍一下在Xilinx Petalinux 工程中的设备树是如何产生,配置以及修改的。Petalinux 工程中设备树的位置当我们创建了一个 petalinux 工程后(以zcu102为例),在编译的时候,会自动生成对应的设备树文件。这些设备树的...

weixin_28877107的博客 2598

STM32固定翼增稳飞控设计:姿态解算、双环PID与一键救机实现

姿态稳定控制是无人机与航模飞控系统的核心基础,其本质是通过传感器融合(如IMU)实时感知飞行器姿态,并基于控制理论(如PID)生成修正指令以抑制扰动。该技术广泛应用于教育航模、轻型固定翼平台及嵌入式飞控开发场景,具有低延迟、高确定性、资源敏感等典型工程特征。本文围绕STM32F401与MPU6050构建的硬件闭环系统,深入解析互补滤波姿态解算原理与俯仰/横滚双环PID控制结构,同时聚焦‘一键救机’这一面向新手的关键安全机制——通过分阶段角速率抑制与平滑角度拉平策略,在80ms内启动响应,显著提升飞行容错能力

weixin_36328210的博客 401

详解GPU显存和batch size的关系

GPU显存、规格指标;神经网络训练,显存占用

orangerfun的博客 6211

飞牛fnNAS虚拟机开启OVS导致失联的解决

摘要:用户在使用飞牛NAS时发现开启OVS网络功能后导致NAS失联。通过多种尝试(包括开关OVS、更换系统版本、手工配置、更换网卡、处理器检查等)后发现,OVS启用状态下DHCP无法获取IP地址,手动设置IP可暂时恢复网络。但重启后问题依旧,初步判断为OVS功能存在bug。目前临时解决方案是在需要时手动开关OVS,或考虑其他虚拟化方案。用户计划后续探索替代方案,并等待官方修复该问题。

dgnankai的专栏 4335

芒果YOLO11改进59:分类损失函数Loss篇FocalLoss:即插即用|最新改进FocalLoss损失函数,提高处理不平衡数据分类场景下的任务性能,提升YOLO11检测精度

即插即用|最新改进FocalLoss损失函数,提高处理不平衡数据分类场景下的任务性能,提升YOLO11检测精度

包括YOLOv5、YOLOv7、YOLOv8等模型改进 551

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 视频编码与封装方式详解
如山似水
博客等级 码龄12年 10粉丝 4原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值