ExoPlayer 迁移到 Media3 日志

参考网站

中文:https://developer.android.google.cn/media/media3/exoplayer/mappings?authuser=3&hl=zh-cn
英文:https://developer.android.google.cn/media/media3/exoplayer/migration-guide?hl=en&authuser=0

主体 替换

ExoPlayerMedia3
com.google.android.exoplayer2androidx.media3.exoplayer
com.google.android.exoplayer2.upstream.DataSourceandroidx.media3.datasource.DataSource
com.google.android.exoplayer2.source.hls.HlsMediaSourceandroidx.media3.exoplayer.hls.HlsMediaSource
com.google.android.exoplayer2.Timelineandroidx.media3.common.Timeline
com.google.android.exoplayer2.Playerandroidx.media3.common.Player
com.google.android.exoplayer2.PlaybackParametersandroidx.media3.common.PlaybackParameters
com.google.android.exoplayer2.upstream.DefaultDataSourceFactoryandroidx.media3.datasource.DefaultDataSourceFactory
com.google.android.exoplayer2.util.Utilandroidx.media3.common.util.Util
com.google.android.exoplayer2.Candroidx.media3.common.C
com.google.android.exoplayer2.SimpleExoPlayerandroidx.media3.exoplayer.ExoPlayer
com.google.android.exoplayer2.video.VideoListenersimpleExoPlayer.addVideoListener替换为Player.Listener;SimpleExoPlayer替换为ExoPlayer

gradle修改

1)主体库
implementation ‘com.google.android.exoplayer:exoplayer:2.12.1’
替换为(以1.3.1为例)
implementation ‘androidx.media3:media3-exoplayer:1.3.1’
implementation ‘androidx.media3:media3-exoplayer-dash:1.3.1’
implementation ‘androidx.media3:media3-ui:1.3.1’
2)如果有hls类库,需要添加下面的
implementation ‘androidx.media3:media3-exoplayer-hls:1.3.1’

类修改

SimpleExoPlayer已淘汰,替换为ExoPlayer
TrackSelection.Factory替换为ExoTrackSelection.Factory
new DefaultLoadControl.Builder().createDefaultLoadControl();替换为new DefaultLoadControl.Builder().build();
new HlsMediaSource.Factory(dataSourceFactory)
.createMediaSource(uri)替换为new HlsMediaSource.Factory(dataSourceFactory)
.createMediaSource(MediaItem.fromUri(uri)

Player.EventListener, VideoListener 替换为Player.Listener

重载函数替换

onPlaybackStateChanged(boolean,int) 替换为 onPlayWhenReadyChanged(boolean, int) instead
onPlayerError(ExoPlaybackException error)替换为onPlayerError(PlaybackException error)
onSeekProcessed()替换为onSeekBackIncrementChanged(long seekBackIncrementMs)和onSeekForwardIncrementChanged(long seekForwardIncrementMs)
onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio)替换为onVideoSizeChanged(VideoSize videoSize)
onTimelineChanged(final Timeline timeline, Object manifest, final int reason)替换为onTimelineChanged(Timeline timeline, int reason)
onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections)替换为onTracksChanged(Tracks tracks)

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

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

相关文章

AR视频技术与EasyDSS流媒体视频管理平台:打造沉浸式视频体验

随着增强现实(AR)技术的飞速发展,其在各个领域的应用日益广泛。这项技术通过实时计算摄影机影像的位置及角度,将虚拟信息叠加到真实世界中,为用户带来超越现实的感官体验。AR视频技术不仅极大地丰富了我们的视觉体验&a…

菜鸡的原地踏步史02(◐‿◑)

每日一念 改掉自己想到哪写哪的坏习惯 二叉树 二叉树的中序遍历 class Solution {/**中序遍历左 - 中 - 右*/private List<Integer> res new ArrayList<>();public List<Integer> inorderTraversal(TreeNode root) {if(root null) {return res;}tranve…

阶段总结——基于深度学习的三叶青图像识别

阶段总结——基于深度学习的三叶青图像识别 文章目录 一、计算机视觉图像分类系统设计二、训练模型2.1. 构建数据集2.2. 网络模型选择2.3. 图像数据增强与调参2.4. 部署模型到web端2.5. 开发图像识别小程序 三、实验结果3.1. 模型训练3.2. 模型部署 四、讨论五、参考文献&#…

Linux: network: openvswitch: disk 访问速度导致不稳定

在文件utilities/ov-ctl.in 文件中有提到一个目录:OVS_RUNDIR Default directories with "configure" option and environment variable override:logs: @LOGDIR@ (--with-logdir, OVS_LOGDIR)pidfiles and sockets: @RUNDIR@ (--with-rundir, OVS_RUNDIR)conf.db

Linux wget报未找到命令

wget报未找到命令需要安装wget 1、下载wget安装文件&#xff0c;本次于华为云资源镜像下载 地址&#xff1a;https://mirrors.huaweicloud.com/centos-vault/7.8.2003/os/x86_64/Packages/ 2、下载后上传到安装服务器/install_package&#xff0c;执行命令安装 rpm -ivh /i…

联合概率密度函数

目录 1. 什么是概率密度由联合概率密度求概率参考链接 1. 什么是概率密度 概率密度到底在表达什么&#xff1f; 外卖在20-40分钟内送达的概率 随机变量落在[20,40]之间的概率。下图中&#xff0c;对总面积做规范化处理&#xff0c;令总面积1&#xff0c; f ( x ) f(x) f(x)则成…

用requirements.txt配置环境

1. 在anaconda创建环境 创建Python版本为3.8的环境&#xff0c;与yolov5所需的包适配。 2. 在Anaconda Prompt中激活环境 (base) C:\Users\吴伊晴>conda activate yolov5 3. 配置环境 用指定路径中的requirements.txt配置环境。 (yolov5) C:\Users\吴伊晴>pip insta…

1、Reids之基础

Reids之基础 Redis是一个key-value的数据库&#xff0c;key一般是String类型&#xff0c;不过value的类型多种多样&#xff1a;&#xff08;未列全&#xff09; 类型例子Stringhello worldHash{name: “jack”, age: “20”}List[A->B->C]Set{A,B,C}SortedSet{A: 1, B:…

格式化代码 | 美化JSON、SQL

一、格式化JSON数据 打开Postman&#xff0c;将json数据粘到里面&#xff0c;点击Beautify即可美化代码。 二、格式化SQL 打开Navicat&#xff0c;新建查询&#xff0c;将sql粘进去点击”美化sql“即可。 三、浏览器 在线格式化 使用浏览器上的在线格式化网址。例如&…

使用ChatGPT写论文,只需四步突破论文写作瓶颈!

欢迎关注&#xff0c;为大家带来最酷最有效的智能AI学术科研写作攻略。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥&#xff08;yida985&#xff09;交流 地表最强大的高级学术AI专业版已经开放&#xff0c;拥有全球领先的GPT学术科研应用&#xff0c;有兴趣的朋友可…

Zero Knowledge Machine Learning-ZKML

目录 一、定义与背景 二、技术特点 三、应用场景 四、发展现状与挑战 五、未来展望 关于 ML 的快速入门知识 EZKL zkML(Zero Knowledge Machine Learning)是一种将零知识证明(Zero-Knowledge Proofs, ZKP)技术融入机器学习中的新兴技术。该技术旨在解决机器学习中的…

【深入探索】WebKit与WebGL:渲染高性能图形的秘密

标题&#xff1a;【深入探索】WebKit与WebGL&#xff1a;渲染高性能图形的秘密 WebKit是许多流行的网络浏览器的引擎&#xff0c;包括Safari和之前的版本的Chrome。它负责解析HTML、CSS和JavaScript&#xff0c;以及提供许多其他Web功能。WebGL是一种在浏览器中渲染3D图形的AP…

滑动窗口(C++)

文章目录 1、长度最小的子数组2、无重复字符的最长子串3、最大连续1的个数 Ⅲ4、将x减到0的最小操作数5、水果成篮6、找到字符串中所有字母异位词7、串联所有单词的子串8、最小覆盖子串 通常&#xff0c;算法的主体说明会放在第一道题中。但实际上&#xff0c;不通常。 算法在代…

大数据面试题之数据库(3)

数据库有必要建索引吗? MySQL缺点? 什么是脏读?怎么解决? 为什么要有三大范式&#xff0c;建数据库时一定要遵循吗? 数据库一般对哪些列建立索引?索引的数据结构? MySOL中索引的建立需要考虑哪些问题 关系型数据库与非关系型数据库区别 MySQL与Redis区别 …

前端代码规范 - 日志打印规范

在前端开发中&#xff0c;随着项目迭代升级&#xff0c;日志打印逐渐风格不一&#xff0c;合理的日志输出是监控应用状态、调试代码和跟踪用户行为的重要手段。一个好的日志系统能够帮助开发者快速定位问题&#xff0c;提高开发效率。本文将介绍如何在前端项目中制定日志输出规…

Linux网络基础与配置:基本网络命令详解

网络基础与配置&#xff1a;基本网络命令详解 在网络管理和配置中&#xff0c;掌握基本的网络命令是至关重要的。这些命令不仅能够帮助我们了解和诊断网络环境&#xff0c;还能进行网络配置和故障排除。本文将详细介绍常用的网络命令&#xff1a;ifconfig、ping、netstat、ss等…

gradle构建工具

setting.gradle // settings.gradle rootProject.name my-project // 指定根项目名称include subproject1, subproject2 // 指定子项目名称&#xff0c;可选jar包名称 方式一 jar {archiveBaseName my-application // 设置 JAR 文件的基本名称archiveVersion 1.0 // 设置…

VUE调用摄像头,拍摄视频上传demo

前端代码 <template><div id"videoDemo"><div><el-form ref"uploadForm" :model"uploadForm" label-width"120px"><el-row><el-form-item label"单号编码" prop"code"><e…

重载赋值运算符

c编译器可能会给类添加四个函数 1默认构造函数 2默认析构函数 3默认拷贝构造函数&#xff0c;对成员变量进行浅拷贝。 4默认赋值函数&#xff0c;队成员变量进行浅拷贝。 #include<iostream> using namespace std; class CGirl { public:int m_bh;string m_name;voi…

【VUE基础】VUE3第三节—核心语法之computed、watch、watcheffect

computed 接受一个 getter 函数&#xff0c;返回一个只读的响应式 ref 对象。该 ref 通过 .value 暴露 getter 函数的返回值。它也可以接受一个带有 get 和 set 函数的对象来创建一个可写的 ref 对象。 创建一个只读的计算属性 ref&#xff1a; <template><div cl…