VR全景视频、图片播放器

最近公司想要做一个全景视频播放的功能,让我去研究一下。

我之前是没有使用过OpenGL相关的东西,并且考虑到项目进度的关系,最后是在网上搜了下相关的播放器。

其实OpenGL、OpenGL2 已经出来了很长一段时间了,但是网上能搜到的开源的播放器并不多。并且有的是伪360度,有的是性能优化不给力,有的是需要收费的……

经过对比,最后在GitHub上找到了一个还不错的播放器,当然这个也存在问题,而且貌似已经停止维护了。不过这不妨碍我使用它。

这里给一个原作者的代码地址:https://github.com/Martin20150405/Pano360

我是fork了源码,在这个基础上做了功能的修改和冗余文件的删减,保留了原来的使用方式。

实现功能


1、页面显示改成单屏。
2、保留了 全景和平面切换,截图功能,进度条相关功能,给切换、截图和标题等显示/隐藏按钮设置了配置方法。
3、修改了原库传入本地或者网络图片时(bitmap)时闪退的问题。
4、支持assets、raw、在线、本地 视频播放。
5、支持assets、在线、本地图片。
6、修改MimeType 类型,修改判断方式。

MineType 

//在线
public static final int ONLINE_BITMAP = 10001;
public static final int ONLINE_VIDEO = 10002;
//本地
public static final int LOCAL_FILE_BITMAP = 10003;
public static final int LOCAL_FILE_VIDEO = 10004;
//系统内部
public static final int ASSETS_VIDEO=10005;
public static final int RAW_VIDEO=10006;

public static final int ASSETS_PICTURE=10007;
public static final int RAW_PICTURE=10008;

使用方式

allprojects{
    repositories{
    maven{url'https://jitpack.io'}
    }
}

dependencies{
    implementation'com.github.dzs-yaodi:VR360Demo:V1.3'
}

支持原有的一行代码调用方法(默认播放视频)

VR360ConfigBundle.newInstance().setFilePath(filePath).startEmbeddedActivity(context);

也支持自定义VR360ConfigBundle

VR360ConfigBundle configBundle = VR360ConfigBundle.newInstance()
.setFilePath(filePath)//视频/图片地址
.setMimeType(mimeType)//视频/图片来源
.setRemoveHotspot(true)//取消水印(默认true)
.setLive(false)//是否是直播,直播的时候隐藏底部进度条布局
.setShowVideoTitle(true)//是否显示标题
.setShowGyroBtn(true)//是否显示陀螺仪按钮
.setShowScreenshotBtn(true)//是否显示截图按钮
.setImageModeEnabled(imageMode);//true -> 图片,false -> 视频

 

最后给一个地址,需要的朋友可以去看看。

https://github.com/dzs-yaodi/VR360Demo

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值