集成安卓播放器

1,主要内容来自官方文档,下面为本人学习后总结的一个播放器。

官方文档:https://exoplayer.dev/hello-world.html

2,第一步:添加依赖,和java 8语法支持

implementation 'com.google.android.exoplayer:exoplayer:2.10.5'

3,第二步,创建布局和实现

class PlayerActivity : BaseActivityK() {override val contentViewId = com.robot.ocean9.R.layout.play_actlateinit var player: SimpleExoPlayerlateinit var videoSource: ProgressiveMediaSourceoverride fun init() { //创建播放实例player = ExoPlayerFactory.newSimpleInstance(this)//播放实例赋值给UI。play_view.player = player//数据源var dataSourceFactory = DefaultDataSourceFactory(this, Util.getUserAgent(this, "hua"))var url = "http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"videoSource =ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(url))player.prepare(videoSource)//缓存好自动播放player.playWhenReady = true}override fun widgetListener() {//一倍播放速率btn_cut.setOnClickListener {player.playbackParameters = PlaybackParameters(1f)}//3倍播放速度btn_cut2.setOnClickListener {player.playbackParameters = PlaybackParameters(3f)}}override fun onDestroy() {super.onDestroy()player.release()//释放资源}}

布局如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"> <com.google.android.exoplayer2.ui.PlayerViewandroid:id="@+id/play_view"android:layout_width="match_parent"android:layout_height="200dp" /> <Buttonandroid:id="@+id/btn_cut"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="one" /><Buttonandroid:id="@+id/btn_cut2"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="two" />
</LinearLayout>

4,运行项目,就可以播放了。更多功能看官方文档

5,如果想自定义视频控件,可以代替原生的控件。控件名字为exo_player_control_view.xml

只要把控件的Id和原生的保持一致,功能就可以保存。例如原生的播放按钮id 为 exo_play

下面为我自定义的控件。如下:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ImageButton android:id="@id/exo_play"android:layout_width="100dp"android:layout_height="100dp"android:layout_gravity="center"android:background="#CC000000"style="@style/ExoMediaButton.Play"/><ImageButton android:id="@id/exo_pause"android:layout_width="100dp"android:layout_height="100dp"android:layout_gravity="center"android:background="#CC000000"style="@style/ExoMediaButton.Pause"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="bottom"android:layout_marginTop="4dp"android:gravity="center_vertical"android:orientation="horizontal"><TextView android:id="@id/exo_position"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="14sp"android:textStyle="bold"android:paddingLeft="4dp"android:paddingRight="4dp"android:includeFontPadding="false"android:textColor="#FFBEBEBE"/><View android:id="@id/exo_progress_placeholder"android:layout_width="0dp"android:layout_weight="1"android:layout_height="26dp"/><TextView android:id="@id/exo_duration"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="14sp"android:textStyle="bold"android:paddingLeft="4dp"android:paddingRight="4dp"android:includeFontPadding="false"android:textColor="#FFBEBEBE"/></LinearLayout></FrameLayout>

运行后如下:

到此完成,多么完美的exoplayer

android exoplayer最好用的视频播放器,倍速播放相关推荐

  1. 视频播放器倍速、清晰度切换、m3u8下载

    视频上很容易就可以做到倍速播放,一般的视频格式都是每秒固定的帧数,按比例跳帧就可以了.音频上其实也可以用这种方式来直接删除一些周期,因为电脑里的音频也是数字化离散化地储存的.但是为了使声音不失真,应该 ...

  2. JavaScript设置HTML5播放器倍速播放

    文章目录 问题描述 解决方法 问题描述 今天,我在看一个学习视频时,发现这个网站的视频播放器居然没有倍速播放的按钮.岂有此理,作为一个长期以来一直用2倍速观看学习视频的强迫症患者,这令我十分不爽,因为 ...

  3. 无需插件加速视频,“跳过广告”,倍速播放视频,chrome等游览器倍速播放视频

    背景: 最近发现一个很有意思的东西,具体背景就是我在看B站的教学视频的时候2倍速太慢了,但是B站只支持2倍速,无法手动调节,于是我想去找个chrome的加速插件,由于本人不太擅长找这种类型的资源,找到 ...

  4. 百度网盘网页版视频在线倍速播放

    由于最近要刷高数视频,时间不充裕了,所以打算加速看视频,但是却发现-度盘不止下载高效-而且- 此方法适用于Chrome浏览器: 1 .打开开发者工具 2 .选择Console,并在下方输入此句代码(此 ...

  5. 百度网盘视频倍速播放

    百度网盘视频倍速播放 (更新一下,插件叫"百度云盘HTML5视频倍速播放",原来那个好像没用了) 因为考研需要刷网课,但是百度云倍速放视频需要svip,30元/月还是挺贵的,于是去 ...

  6. Android MediaPlayer MP3播放器(倍速和音量)的封装和所见的问题

    Android MediaPlayer MP3播放器(倍速和音量)的封装和所见的问题 文章目录 Android MediaPlayer MP3播放器(倍速和音量)的封装和所见的问题 一.技术选型 二. ...

  7. 【Android视频 之 阿里云视频播放器 二】

    说明一下:写文章时,我用的最新sdk版本是 4.7.0 哦,这里也只贴出关键代码,更多详细代码在文章末尾有地址链接的. [Android视频 之 阿里云视频播放器 一] 1 视频试看功能的实现 效果图 ...

  8. 酷播云html5倍速功能视频播放器,Chrome扩展推荐:一个能16倍速播放的免费视频倍速播放器...

    Video Speed Controller 长时间观看看网课或者影视剧时,啰嗦的内容很容易令人疲劳. 因此许多人在观看视频时,常常习惯将播放速度提升至1.3~1.5倍来补偿视觉接收的差异. 虽然某些 ...

  9. 酷播云html5倍速功能视频播放器,可以倍速播放视频的浏览器插件

    可以倍速播放视频的浏览器插件 Video Speed Controller 是一款倍速播放视频的浏览器插件! 现在网站上播放的视频,基本上都可以实现倍速播放,但偶尔也有些网站上的视频:没有倍速播放功能 ...

  10. android b站倍速播放器,哔哩哔哩怎么加速播放?B站网页版和手机版视频倍速播放的方法介绍...

    bilibili简称B站是国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主.那么,爱逛b站的朋友们都知道,加速播放效果更佳!那么,哔哩哔哩怎么加速播放呢?接下来小编就 ...

最新文章

  1. ajxa异步请求数据
  2. 函数的递归调用(专题)
  3. IIS服务器上增加mp4格式MIME 类型映射设置具体步骤
  4. leetcode279 完全平方数
  5. js setTimeout 使用方法
  6. java stream group_Java8 Stream之group
  7. OpenShift 4.5 新特性 - 创建任务和定时任务
  8. Java生成真正格式的Excel文件
  9. linux下创建svn仓库及用户
  10. 纯CSS3动画按钮效果
  11. 转载:KOF97键盘连招
  12. 使用ThinkPHP框架高速开发站点(多图)
  13. Java字符串首字母大写
  14. HeitiCSEG 文鼎CS大黑 字体下载
  15. 电脑连接wifi无法使用浏览器,但是可以登录QQ的解决方法
  16. 基于Java人机对弈系统_基于JAVA的中国象棋对弈系统(附答辩记录)
  17. Java面向对象游戏-黑熊怪变成武大郎吃唐僧 --如何方法继承 重写
  18. 抓包实现原理与反抓包
  19. MCtalk对话尚德机构:AI讲师,假套路还是真功夫?
  20. 618投影仪怎么选?看看极米NEW Z6X、极米Z6X Pro与极米H3S

热门文章

  1. [转帖]龙芯下一代处理器微结构GS464E细节曝光
  2. 网络无法找到计算机6,手机可以搜到WiFi6路由器的信号,电脑却搜不到这是怎么回事?...
  3. php snappy,php – 使用Knp Snappy生成pdf文件时出现错误字符
  4. ZZULIOJ:1132: 数字字符统计
  5. 非科班学弟如何转行斩获 ATM 大厂的 Offer ?
  6. 程序员月薪过7万,可以落户北京了
  7. mysql 统计七日留存率_1.七日留存率-SQL实现
  8. 数字化势不可挡:“衣食住行”的升级之战,行业巨头如何破局
  9. iOS小知识: 使用bugly上报自定义错误信息进行数据监控
  10. 点击唤起电话功能和企业微信聊天窗口事件(H5)