安卓手机APP开发的音频和视频概述

安卓手机APP开发的音频和视频概述

目录

概述

Jetpack Media3

回放组件

Media3 MediaSession

MediaSessionService

MediaController

MeidaBrowser

Media3 Exoplayer

编辑组件

Media3 Transformer

Effects

EditedMediaItem

UI组件

Media3 UI

Jetpack MediaRouter

平台API和行为


概述

这部分覆盖了处理音频和视频数据的核心API,包括用例如回放,编程和录制。
你也能找到一些关于APP架构的建议和平台行为的描述。

Jetpack Media3

在大部分的用例下,媒体3(Media3)是构建音频和视频开发方面,我们推荐
的解决方案。如果你在开发媒体功能方面是新手,从这开始吧。媒体3与之前
的媒体API的重要区别是取消了组件间的连接器。

回放组件

Media3 MediaSession

媒体会话(MediaSession)是实现回放用例的媒体3中的子库和关键性的API。
它让你的APP与音视频播放器交互,它接收外部的回放命令并传给播放器。

MediaSessionService

媒体会话服务在一个服务中掌管着一个媒体会话及会话相关的媒体播放器,
为了方便后台回放,媒体会话服务独立于你的APP的主活动。

MediaController

媒体控制器类通常被用来从你的APP外面发送命令,例如,从其它的APP,或者
是系统本身。命令被发送到媒体会话相关的播放器那里。

MeidaBrowser

媒体浏览器类允许用户导航到一个媒体APP的内容库,并且选择要播放的内容。

Media3 Exoplayer

深入研究一下Exoplayer,它是包含在媒体3中的富特性和可扩展的媒体
播放器API,它是媒体3中的播放器接口的默认实现者。

编辑组件

Media3 Transformer

探索媒体3中的转换器模块,这是实现媒体编辑用例的一系列的强有力的
性能优异的API。它用于启动和停止转换动作,检查正在运行中的转换的
执行进度。

Effects

一个特效对象是应用于一个媒体项上的音视频特效的集合。

EditedMediaItem

这个类表示被编辑的媒体项。

UI组件

Media3 UI

它是在你的APP中,进行显示视频和回放控制方面的默认的用户界面组件。
PlayView类是显示视频和回放控制的默认的View.

Jetpack MediaRouter

媒体路由器实现的是为了创建共享的体验在设备之间路由回放数据。

平台API和行为

了解安卓平台本身的媒体API和行为。例如格式支持和音量控制API。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

anylabeling使用和安装

源码地址: git clone https://github.com/vietanhdev/anylabeling.git Auto Labeling with Segment Anything Youtube Demo: https://www.youtube.com/watch?v5qVJiYNX5KkDocumentation: https://anylabeling.nrl.ai Features: Image annotation for polygon, r…

利用Leaflet + React:构建WEBGIS

React是 Facebook 开发的一个开源库,用于构建用户界面。就其本身而言,Leaflet是一个用于将地图发布到网络的JavaScript 库。这两个工具的组合很简单,允许您创建动态网络地图。在本文中,我们将看到这种组合的一些特征以及一些简单的…

查找题(二分解法c++)

文章目录 【深基13.例1】查找题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示代码如下: 【深基13.例1】查找 题目描述 输入 n n n 个不超过 1 0 9 10^9 109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a 1 , a…

数据结构DAY3--栈与队列

栈: 是一种只能从一端操作的表,规则为先进后出。 主要操作步骤为:1.建立相关结构体 2.建立栈 3.增加栈 4.获得栈顶值 5.删除 6.修改 7.销毁 1.建立两个结构体 一个为链栈,一个为结点,链栈包括栈头(指针…

多输入多输出 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络多输入多输出预测

多输入多输出 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络多输入多输出预测 目录 多输入多输出 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 多输入多输出 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络…

java数据结构与算法刷题-----LeetCode367. 有效的完全平方数

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 自实现Math.sqrt()函数:牛顿迭代法 自实现Math.sqrt(…

Redis单线程 VS 多线程

一、Redis 为什么选择单线程? 这种说法其实并不严谨,为什么这么说呢? Redis的版本有很多 3.x、4.x、6.x,版本不同架构也不同的,不限定版本问是否单线程也是不太严谨。 版本3.x,最早版本,也就…

项目架构MVC,DDD学习

写在前面 本文一起看下项目架构DDD,MVC相关的内容。 1:MVC 不管我们做什么项目,自己想想其实只是做了三件事,如下: 其实,这三件事完全在一个类中做完也可以可以正常把项目完成的,就像下面这…

【MacBook系统homebrew镜像记录】

安装 使用Homebrew 国内源安装脚本,贼方便: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"切换至清华大学镜像源: 命令合并: 分别切换了 brew.git、 homebrew-core.git、 homebrew-…

逆向案例十二——看准网企业信息json格式的信息

网址:【全国公司排行|排名榜单|哪家好】-看准网 打开开发者工具——刷新——网络——XHR——下滑页面加载新的页面——找到数据包 发现参数加密,返回的数据也进行了加密 按关键字在下方搜索 kiv进入第一个js文件 ctrlf打开文件里面的搜索框继续搜kiv找到…

12.手写JavaScript bind方法

一、核心思想 bind相比apply和call引入了闭包的思想,重点是正确找到this和arguments 二、代码实现 /*** 手写bind* param {Function} o 函数* param {Array} ...args1 数组* return 根据具体情况考虑*/ function Fn(a,b,c,d){console.log("this.name:"…

Java 面试宝典:Redis 的线程模型是怎么样的?

大家好,我是大明哥,一个专注「死磕 Java」系列创作的硬核程序员。 本文已收录到我的技术网站:https://www.skjava.com。有全网最优质的系列文章、Java 全栈技术文档以及大厂完整面经 Redis 的线程模型其实是分两块的: Redis 6.0 …

前端开发语言有那些?

前端开发语言有那些? 1、html 超文本标记语言:构建前端网页的基本结构,就象人的骨架一样。 2、css 层叠样式表:控制网页的样式和布局,就象人需要穿各种服式展现不同风采。 3、javascript 简称 JS 动态脚本语言&#x…

阿里面试总结

ThreadLocal 线程变量存放在当前线程变量中,线程上下文中,set将变量添加到threadLocals变量中 Thread类中定义了两个ThreadLocalMap类型变量threadLocals、inheritableThreadLocals用来存储当前操作的ThreadLocal的引用及变量对象,把当前线程…

gcc/g++:预编译阶段嵌入头文件并完成替换

预编译阶段嵌入头文件并完成替换首先需要找到需要包含头文件的位置,然后进行引入。 示例: 1)用户头文件 /*brief design and implements of demo-for-precompile.author wenxuanpeiemail 15873152445163.com(query for any question here) …

括号串(Deque)

题目 import java.util.Deque; import java.util.LinkedList; import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();sc.nextLine();char[] c sc.nextLine().toCharArray();Deque…

Prompt提示词——常见的Prompt框架

以下是一些常见的Prompt框架,包括它们的原理、功能、使用场景、优缺点以及示例: BROKE框架: 原理:BROKE是一个结合了OKR(Objectives and Key Results)方法论的框架,通过提供背景、角色、目标、关…

柒拾贰- tushare 模拟策略交易 (三)

书接上两回 柒拾- tushare 模拟策略交易 (一) 柒拾壹- tushare 模拟策略交易 (二) 开始 终于我们可以可以来进行模拟了 复杂 的我不会,所以就写个最简单的策略吧: 买入条件 比两年前是上升的比一年前…

前端开发之el-select 设置默认值后选项无法切换

前端开发之el-select 设置默认值后选项无法切换 前言解决方案 前言 在实际使用过程中发现再给el-select设置默认值之后选项无法进行切换了 解决方案 为el-select添加 change“$forceUpdate()” 添加这个即可 <template><el-form-item label"数据类型"&g…

【题目】【信息安全管理与评估】2023年国赛信息安全管理与评估正式赛任务书-模块2

全国职业院校技能大赛高等职业教育组 信息安全管理与评估 任务书 模块二 信息安全管理与评估 网络系统管理 网络搭建与应用 云计算 软件测试 移动应用开发 竞赛任务书&#xff0c;赛题&#xff0c;解析&#xff0c;培训服务添加博主wx&#xff1a;liuliu5488233 网络安全事件…