android 简单的exoplayer全景播放器

article/2025/8/22 3:53:16

全景播放器网上一搜也是一堆一堆的,还有google推出的vrsdk,所以也没啥好说的,就简单记录一下

实现全景主要用到的还是opengles,只要用的开源播放器有setSurface(Surface surface)这个函数,就可以不改播放器源码实现

原理很简单只要通过opengles生成个纹理,再通过纹理生成SurfaceTexture,再通过SurfaceTexture生成Surface,最后把Surface传给播放器,而我们只要实现surfaceTexture.setOnFrameAvailableListener()来监听回调进行渲染

首先要用opengles画个球体,参考[OpenGL]从零开始写一个Android平台下的全景视频播放器——3.2 使用OpenGL ES 2.0绘制一个球

画好把画面贴上去,接下来要用传感器来监听手机方向来调整显示的方向,这个功能我是参考个的这个weibo360panorama 这个项目里也有画球,只不过我是先参考那篇后来才找到这个项目

再加个手指拖动功能

好了

通过学习全景对opengles的矩阵更进一步的理解,比如Matrix.multiplyMM(),我一直以为这函数把第二个矩阵和第三个矩阵合成一个新的矩阵,和参数顺序没关系,可是用过来发现不是这样的,如果把第二个矩阵和第三个矩阵换一个位置,合成的新矩阵和刚才的是不一样的,总之对矩阵我还是比较头疼

项目里面有个RotationImageView,就是画面左上角的方向图片,原来我是通过旋转setRotation来进行旋转的,可是setRotation()设置超90度就不显示,我也很无奈,就重新写了个控件,通过canvas.rotate旋转

ExoplayerVR
 


http://chatgpt.dhexx.cn/article/YRbARkbk.shtml

相关文章

全景播放器

在github上发现的,绿色免安装,完全免费,只有一个界面三个按键,超级简单。里面带来几个全景视频和图片的demo,想体验全景的可以直接打开看看。想换片的时候按键盘的空格键既可以返回主界面。视角查看用鼠标左键点击拖动…

OpenGL ES_手把手教你打造VR全景播放器

OpenGL ES _ 入门_01OpenGL ES _ 入门_02OpenGL ES _ 入门_03OpenGL ES _ 入门_04OpenGL ES _ 入门_05OpenGL ES _ 入门练习_01OpenGL ES _ 入门练习_02OpenGL ES _ 入门练习_03OpenGL ES _ 入门练习_04OpenGL ES _ 入门练习_05OpenGL ES _ 入门练习_06OpenGL ES _ 着色器 _ 介…

播放全景视频【一】:用unity Video Player视频播放器来播放360全景视频

先上图为敬 本文测试环境: Win10 Unity 2020.3.40 Pico G2 4k VR一体机 一、使用Video Player心理负担比较小 使用Unity自带的【视频播放器(Video Player)】来播放360全景视频的【好处】: 1、控制逻辑与2D视频相同&#xff0c…

利用FFmpeg和OpenGL ES 实现 3D 全景播放器

前言 我们已经利用 FFmpeg OpenGLES OpenSLES 实现了一个多媒体播放器,本文将基于此播放器实现一个酷炫的 3D 全景播放器。 全景播放器原理 全景视频是由多台摄像机在一个位置同时向四面八方拍摄,最后经过后期拼接处理生成的。 用普通的多媒体播放器播…

航空客运订票系统(C语言,软件用的DEV)

这两天整理之前的作业代码,把自己一点一点敲出来的系统又看了一下,挑几个发出来供大家参考。想要源码、报告可以找我啦,代码的注释之前写的都是非常详细的! 但是不是无偿的啦(不坑,一杯奶茶喽,不…

数据结构_航空客运订票系统(C实现)

文章目录 总述代码粗糙版修理版 还可以修正的点:余票不足时仍然提示还剩下几张(而不是直接拒绝该用户的订票操作)对于购票者的id 不单单是说约定一个可以不重复的主键(命名规则),而且还要辅以必要的检查违约功能 总述 在这里插入代码片 1. 问题描述:(题…

航空机票订票系统

项目介绍 主要功能是使订票系统可以录入航班情况,查询某个航线的情况、办理订票、办理退票、修改航班信息、查询订票信息等。完成此系统,需要综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言)&…

【数据结构应用】航空客运订票系统

目录 前言 一、作业要求介绍 二、各个函数的实现 1.头文件总结需要的功能 (1)结构体的定义 (2)各个功能的函数 2.各个函数的具体实现 (1)初始化 (2)打印航班信息表 (4&…

Java实现航空机票订票系统

1、要求: (1)设计每条航线所涉及的信息,如终点站名、航班号、飞机号、飞机周日(星期几)、乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)等&…

c语言航空订票系统程序设计,C语言航空订票系统

C语言航空订票系统 这 是 一 篇 用 C 语 言 编 写 的 航 空 订 票 系 统 的 论 文 。 该 系 统 使 用 的 是十 字 链 表 结 构 , 包 含 有 订 票 , 退 票 , 录 入 航 班 信 息 , 查 询 航 班 余 票 , 查询 个 人 订 票…

航空订票系统C++课程设计

航空订票系统 项目实践完整源码 前言一、功能演示二、代码总结 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 编写程序模拟航空订票系统,要求实现以下功能: ① 允许增、删、改航班信息&#…

数据结构课设-航空客运订票系统(C语言实现)

航空客运订票系统(C语言实现) 系统框架已完成功能用户功能管理员功能其他 运行结果管理员添加航班客户订票添加候补客户退票 代码 系统框架 已完成功能 用户功能 查询航线:根据旅客提出的终点站名输出航班的信息。订票业务:根据…

C++课程设计:航空客运订票系统

航空客运订票系统 选题背景 方案论证 过程论述 运行结果 完整代码 选题背景 ①背景: 现在人们更多的使用飞机作为出行交通工具,因此机票票务市场也在快速发展。国内外航空事业在飞速发展,各航空公司对票务管理的要求也在不断的提高,对…

基于ssm的航空订票系统

基于ssm的航空订票系统 一、技术栈 ​ 前端 ​ vue全家桶、element-ui组件库、moment.js插件 ​ 后端 ​ springboot springmvc mybatis 二、功能描述 本系统是基于B/S架构的航空订票系统 系统分为三大用户–乘客、航空公司、后台管理员,本次课程设计主要实现…

课程设计之航空客运订票系统

/***************************************************** * 版权所有(C)2016,王力源 * *文件名称:A.C 航空售票系统 *文件标识:无 *内容摘要:航空售票系统 *其他说明:无 *当前版本&#xff1…

航空客运订票系统(数据结构课设)

前言: 广工数据结构课设,基本需求和选做内容以及一些小扩展均已实现,此博客仅展示一部分,实验报告文档、源代码和可运行程序(.exe文件)等可以去我的github或者码云上下载,如果对您有帮助&#…

python-数据结构-大学生-航空订票系统

python-数据结构-大学生-航空订票系统 1.问题描述及任务描述 1.1问题描述 航空订票系统:可以实现航空客运订票的主要业务活动 基本要求: (1)航线管理:每条航线所涉及的信息由:终点站名、航班号、飞机号、…

C语言航空订票系统课程设计

目录 1.设计目的: 2总体设计和功能: 3.菜单设计 4.各功能代码详解(闲话少扯): 4.1.C语言文件的操作: 4.2.读取航班信息: C语言知识回顾 4.3.打印航班信息 5.根据要求查找航班&#xf…

C语言 数据结构课设 航空订票系统

目录 实现功能 部分功能测试截图 ​ 代码展示 实现功能 1.订票 2.退票 3.查询航班信息 4.修改航班信息 5.录入航班信息 6.打印订票信息 部分功能测试截图 功能选择界面 查询航班功能测试 订票功能测试 打印订票信息 代码展示 代码中需要的二个文件内容如下 第一个是代码中的…

【计算机毕业设计】41.航空订票系统

摘 要 网络的广泛应用给生活带来了十分的便利。所以把航空订票与现在网络相结合,利用JSP技术建设航空订票系统,实现航空订票的信息化。则对于进一步提高航班公司的发展,丰富航空订票经验能起到不少的促进作用。 航空订票系统能够通过互联网…