开源 android md 播放器,MD360Player4Android
OpenGLES 2.0 required
Android 4.0.3 (IceCreamSandwich API-15) required
There are two way to use this library depend on your requirement,
根据你的需要,该库有两种使用方法。
使用MDGLSurfaceView
第一步 在layout xml中定义com.asha.vrlib.MDGLSurfaceView...
android:id="@+id/md_surface_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
...
第二步 当surface准备好了之后,把android.view.Surface设置到MediaPlayer上public class MDGLSurfaceViewDemoActivity extends MediaPlayerActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_md_gl_surface);
MDGLSurfaceView mGLSurfaceView = (MDGLSurfaceView) findViewById(R.id.md_surface_view);
mGLSurfaceView.init(new MD360Renderer.IOnSurfaceReadyListener() {
@Override
public void onSurfaceReady(Surface surface) {
//MediaPlayer or something else.
getPlayer().setSurface(surface);
}
});
}
}
更灵活的方式: MD360Renderer
第一步 建立一个MD360Renderer并设置android.view.Surface。public class MD360RenderDemoActivity extends MediaPlayerActivity {
private MD360Renderer mRenderer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_md_render);
mRenderer = MD360Renderer.with(this)
.listenSurfaceReady(new MD360Renderer.IOnSurfaceReadyListener() {
@Override
public void onSurfaceReady(Surface surface) {
getPlayer().setSurface(surface);
}
})
.build();
// init OpenGL
initOpenGL(R.id.surface_view);
}
}
第二步 自己初始化OpenGL,并把MD360Renderer设置到你的android.opengl.GLSurfaceView上。private void initOpenGL(int glSurfaceViewResId) {
mGLSurfaceView = (GLSurfaceView) findViewById(glSurfaceViewResId);
if (GLUtil.supportsEs2(this)) {
// Request an OpenGL ES 2.0 compatible context.
mGLSurfaceView.setEGLContextClientVersion(2);
// Set the renderer to our demo renderer, defined below.
mGLSurfaceView.setRenderer(mRenderer);
} else {
mGLSurfaceView.setVisibility(View.GONE);
Toast.makeText(MD360RenderDemoActivity.this, "OpenGLES2 not supported.", Toast.LENGTH_SHORT).show();
}
}
Reference
开源 android md 播放器,MD360Player4Android相关推荐
- android 著名播放器,【精华】十二大最著名的Android播放器开源项目
1.ExoPlayer https://github.com/google/ExoPlayer ExpPlayer是一个开源的,App等级的媒体API,它的开源项目包含了library和示例: Dem ...
- Vitamio打造自己的Android万能播放器
前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...
- 使用Vitamio打造自己的Android万能播放器(1)——准备
前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...
- 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)
前言 为了保证每周一篇的进度,又由于Vitamio新版本没有发布, 决定推迟本地播放的一些功能(截图.视频时间.尺寸等),跳过直接写在线播放部分的章节.从Vitamio的介绍可以看得出,其支持http ...
- 使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)...
前言 关键字:Vitamio.VPlayer.Android播放器.Android影音.Android开源播放器 本章节把Android万能播放器本地播放的主要功能(缓存播放列表和A-Z快速查询功能) ...
- 基于android音乐播放器的设计
本科毕业论文(设计)诚信声明 本人郑重声明:所呈交的毕业论文(设计),题目<---基于android音乐播放器的设计----------->是本人在指导教师的指导下,进行研究工作所取得的成 ...
- 【超详细】开源JZVideo饺子播放器播放器配置使用以及其自定义
文章目录 特点 配置 添加依赖 添加布局 添加逻辑 修改AndroidManifest.xml 小问题 展示图 自定义 自定义UI 编写自定义类 重新应用控件 应用 总结 参考链接 继续找播放器,找到 ...
- android vitamio 实现快速播放,使用Vitamio打造自己的Android万能播放器(5)
前言 为了保证每周一篇的进度,又由于Vitamio新版本没有发布, 决定推迟本地播放的一些功能(截图.视频时间.尺寸等),跳过直接写在线播放部分的章节.从Vitamio的介绍可以看得出,其支持http ...
- 使用Vitamio打造自己的Android万能播放器
前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...
最新文章
- 想要学好Go语言的必须知道的一个小技巧
- 百度大脑发挥AI“头雁效应” 王海峰:在AI时代共同推动社会智能化升级
- C语言中auto,register,static,const,volatile的区别
- Swift常用库收集
- linux中怎么删除只读变量,【Linux】【问题集锦】如何删除shell只读变量
- Xshell连接Centos完整版(动态ip)
- python 降噪_使用降噪自动编码器重建损坏的数据(Python代码)
- eureka-7-多网卡下的ip选择
- python 第三方模块 yaml - 处理 YAML (专门用来写配置文件的语言)
- Gitlab自动触发Jenkins构建项目
- java图形接口_java基础七 [图形用户接口](阅读Head First Java记录)
- sts版本不同有影响吗_不同型号的手机充电器可以混用吗?会影响电池吗?
- FAQ系列 | mysqldump选项之skip-opt
- 广东地区电信官方DNS服务器
- 几何画板是哪方面的计算机应用,几何画板主要功能是哪些?了解后就能愉快使用啦...
- python小玩意——性格测试
- linux kvm切换器,PS2系列KVM切换器
- 大漠多线程循环任务自动切换模板判断账号登陆成功
- cent os7目录详解
- 小型企业网三层架构(基于CISCO设备)
热门文章
- 如何为Apple 键盘、鼠标或触控板中的内建电池充电?
- 带 Touch ID 的新款 iMac 妙控键盘可以单独购买
- 全国计算机一级九月份,九月份全国计算机一级考试试题
- 类(class)和结构体(struct)的区别
- Error updating database. Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘experience_openne
- 大数据时代,企业网络安全怎么守护?
- Ubuntu16.04搜狗拼音输入法候选栏显示乱码英文串。
- 大轴纸怎么上机器人_幼儿园大班科学——“制作机器人”系列活动策划及分析...
- 京东争抢AI人才,前微软亚洲研究院资深研究员梅涛博士加盟
- 重置目录服务还原模式管理员密码