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

ExoPlayer 学习笔记

https://www.51cto.com/article/777840.html

ExoPlayer支持多种媒体格式和流媒体协议的播放器

  • 播放视频:player.play()
  • 暂停视频:player.pause()
  • 停止播放:player.stop()

 Media3 ExoPlayer  |  Android media  |  Android Developers

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")

入门步骤 

  1. 将 ExoPlayer 作为依赖项添加到您的项目中。
  2. 创建一个 ExoPlayer 实例。
  3. 将播放器附加到视图(用于视频输出和用户输入)。
  4. 使用 MediaItem 让播放器做好开始游戏的准备。
  5. 完成后释放播放器。

开启 Java 8 支持

如果尚未启用 Java 8,您需要在依赖于 ExoPlayer 的所有 build.gradle 文件中启用 Java 8 支持,方法是将以下内容添加到 android 部分:

compileOptions {targetCompatibility JavaVersion.VERSION_1_8
}

创建播放工具 

ExoPlayer player = new ExoPlayer.Builder(context).build();

 绑定播放控件

// Bind the player to the view.
playerView.setPlayer(player);

 填充播放列表并准备播放器

// Build the media item.
MediaItem mediaItem = MediaItem.fromUri(videoUri);
// Set the media item to be played.
player.setMediaItem(mediaItem);
// Prepare the player.
player.prepare();
// Start the playback.
player.play();

 ExoPlayer 直接支持播放列表,因此可以提供包含多个媒体项的播放器,以便逐一播放:

// Build the media items.
MediaItem firstItem = MediaItem.fromUri(firstVideoUri);
MediaItem secondItem = MediaItem.fromUri(secondVideoUri);
// Add the media items to be played.
player.addMediaItem(firstItem);
player.addMediaItem(secondItem);
// Prepare the player.
player.prepare();
// Start the playback.
player.play();

http://www.lryc.cn/news/377092.html

相关文章:

  • 汽车IVI中控开发入门及进阶(二十七):车载摄像头vehicle camera
  • Transformer模型:未来的改进方向与潜在影响
  • ROS 激光雷达
  • 杂说咋说-关于城市化发展和城市治理的几点建议(浙江借鉴)
  • Linux 常用命令 - which【定位可执行文件的位置】
  • js文件导出功能
  • PHP转Go系列 | 字符串的使用姿势
  • vue关于:deep穿透样式的理解
  • 算法 |数字计数
  • 通义千问调用笔记
  • Linux常见的压缩文件种类与对应的压缩解压方法
  • LNMP网站架构
  • 排序算法及源代码
  • 力扣第206题“反转链表”
  • 多模态大模型解读
  • React是什么?
  • 创新入门 | 病毒循环Viral Loop是什么?为何能实现指数增长
  • 鸿蒙HarmonyOS实战:渲染控制、路由案例
  • 【Linux】进程控制2——进程等待(waitwaitpid)
  • SpringBoot 统计接口调用耗时的多种方式
  • Linux系统安装Ruby语言
  • 网络安全练气篇——OWASP TOP 10
  • python实现进度条的方法和实现代码
  • 被拷打已老实!面试官问我 #{} 和 ${} 的区别是什么?
  • C# —— while循环语句
  • 力扣第205题“同构字符串”
  • 探索RESTful API开发,构建可扩展的Web服务
  • 苹果安卓网页的H5封装成App的应用和原生开发的应用有什么不一样?
  • IO流2.
  • 详解MySQL中的PERCENT_RANK函数