开源视频播放器IjkPlayer使用记录之(二)--自定义的mediaController实现。
来源:互联网 发布:mysql where or 效率 编辑:程序博客网 时间:2024/06/05 20:13
1. 例子中的controller实现
首先先来看一下Ijkplayer example中的mediaController实现。
代码在example中的widget.media的AndroidMediaController中实现。
例子中的功能主要是支持将顶部的toolbar和MediaController绑定在一起,一起show/hide.
这段代码可以自行阅读,不是本文要说的内容。
2. 自定义的mediaController实现
Android中的mediaController支持的api非常少,非常不方便定制。这里就是移植源码的内容做自定义的mediaController。
源码在:android.widget.MediaController.可以清楚的看到MediaController实际上一个FrameLayout。
那么如何移植呢?
<span style="font-size:14px;">private void initFloatingWindow() { mWindowManager = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE); mWindow = new PhoneWindow(mContext);</span>
可以将文件copy到自己的目录下,在sdk24下,没法直接创建PhoneWindow实例。
以下是stackOverflow上搜索到的方法:
<span style="font-size:14px;"> String phone_window_calss = "com.android.internal.policy.impl.PhoneWindow"; Class phoneWindowClass = null; try { phoneWindowClass = Class.forName(phone_window_calss); Constructor constructor = phoneWindowClass.getDeclaredConstructor(new Class[]{Context.class}); mWindow = (Window) constructor.newInstance(mContext); } catch (Exception e) { }</span>其他的内容可以基本不变。
protected View makeControllerView() { LayoutInflater inflate = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mRoot = inflate.inflate(R.layout.custum_media_controller, null);<span style="color:#ff6600;">//修改该文件变更布局。</span> initControllerView(mRoot); return mRoot; }
private void initControllerView(View v)
在该函数中定义控件和绑定相关的监听事件。播放相关的回调沿用原有的系统方法比较好,这边主要是做一些自己定制的内容,相对来说还是比较容易实现的。以上就是简单的自定义mediaController,供参考。
0 0
- 开源视频播放器IjkPlayer使用记录之(二)--自定义的mediaController实现。
- 开源视频播放器IjkPlayer使用记录之(四)--多音轨的探路之旅
- 开源视频播放器IjkPlayer使用记录之(三)--播放视频从上次播放的时间点播放。
- 开源视频播放器IjkPlayer使用记录之一--demo的使用及View的简要介绍
- 使用VideoView+MediaController实现视频播放器
- ijkplayer简单实现播放 ijkplayer是Bilibili基于ffmpeg开发并开源的轻量级视频播放器,支持播放本地网络视频,也支持流媒体播放。支持
- MediaController视频的播放
- Android VideoView 自定义播放器 MediaController 实现视频播放控制和横竖屏适配
- Ijkplayer播放视频的简单使用,可以暂停继续(二)
- LZH_IJKPlayer-一个最简单使用的视频播放器,集成于bilibili开源直播播放器(ijkplayer)
- ijkplayer的使用解析-视频播放,直播
- VideoView和MediaController实现网络视频播放器demo
- Android使用VideoView和MediaController播放网络视频(包括横竖排切换的处理)
- 通过VideoView+MediaController实现视频播放
- Android视频播放框架Vitamio集成及使用MediaPlayer+SurfaceView、VideoView+MediaController实现播放网络视频
- 基于IJKPlayer的简易视频播放器
- 基于IjkPlayer的视频播放器
- 使用VideoView和MediaController进行视频播放
- Appium的xpath路径获取(包含其他定位方式)
- Servlet入门----创建第一个自己的Servlet小程序
- JavaScript小细节点罗列
- RAPI个人学习的一点笔记
- mysql多维数据仓库指南--第一篇第1章(续)
- 开源视频播放器IjkPlayer使用记录之(二)--自定义的mediaController实现。
- 2016年10月制定 时间安排表(17年4月过后找到大公司实习或者九月份签了工作 截止)
- Java内部类详解
- PC端无法访问共享文件服务器的解决方案
- php 分页
- 荷蘭銀行將區塊鏈應用於跨境支付
- Linux下的常用命令学习(1.chmod)
- Java 抽象方法实例化
- 分解一个枚举类型变量包含的多个枚举值