当前位置: 首页 > news >正文

Android多媒体——媒体start流程分析(十三)

        当多媒体的数据源准备好,并且完成调用准备结束流程后,接下来就开始是调用 start() 方法开始播放媒体了。这里我们就来分析一下媒体开始播放的整个流程。

一、媒体播放流程

        对于媒体播放流程的 Java 层和 JNI 层与前面的示例基本相同,这里不再重复展示了,我们直接从 mediaplayer.cpp 中的 start() 方法开始分析。

1、mediaplayer.cpp

源码位置:/frameworks/av/media/libmedia/mediaplayer.cpp

status_t MediaPlayer::start()
{ALOGV("start");……if (mCurrentState & MEDIA_PLAYER_STARTED) {ret = NO_ERROR;} else if ( (mPlayer != 0) && ( mCurrentState & ( MEDIA_PLAYER_PREPARED |MEDIA_PLAYER_PLAYBACK_COMPLETE | MEDIA_PLAYER_PAUSED ) ) ) {mPlayer->setLooping(mLoop);mPlayer->setVolume(mLeftVolume, mRightVolume);mPlaye

相关文章:

  • 深入解析 PostgreSQL 外部数据封装器(FDW)的 SELECT 查询执行机制
  • 【vLLM 学习】基础教程
  • 4G物联网模块实现废气处理全流程数据可视化监控配置
  • Angular 知识框架
  • Lord Of The Root: 1.0.1通关
  • 如何在终端/命令行中把PDF的每一页转换成图片(PNG)
  • 《Effective Python》第2章 字符串和切片操作——深入理解 Python 中 __repr__ 与 __str__
  • 机器学习基础课程-6-课程实验
  • android studio导入项目
  • Hadoop集群故障节点隔离操作指南
  • 通用软件项目技术报告 - 导读III
  • WordPress 和 GPL – 您需要了解的一切
  • 卷积神经网络全连接层详解:特征汇总、FCN替代与性能影响分析
  • 代理IP与VPN的区别,如何根据需求选择?
  • 如何恢复被勒索软件加密的服务器文件(解密与备份策略)
  • C及C++的SOAP协议库
  • Linux系统编程——fork函数的使用方法
  • MCU程序加密保护(二)ID 验证法 加密与解密
  • AI+服务重塑智能客服,但价值永远是关键所在
  • 小说所有设定(v3.0 preview)
  • 呼吸医学专家杜晓华博士逝世,终年50岁
  • 2025年中国网络文明大会将于6月10日在安徽合肥举办
  • 上海杨浦:鼓励龙头企业与高校共建创新联合体,最高支持200万元
  • 商务部就开展打击战略矿产走私出口专项行动应询答记者问
  • A股高开高走:沪指涨0.82%,创指涨2.63%,超4100股收涨
  • 河南洛阳新安县煤渣倾倒耕地:多年难恢复,为何至今未解决?