Unity AVPro 使用

news2024/11/24 16:03:44

AVPro

感觉我写的没多大用处,后面看看文档再完善一些。目前的东西是可以满足一些简单的需求的。

说明

标题名称内容
Unity版本Unity 2021 .1.18f1c1
AVPro 版本AVPro Video - Ultra Edition 2.5.6
IDEVS2022
系统版本Win 10 1909
撰写日期2022 11月15日晚

需要注意的地方

文档137页,看的累了,就不看了。

使用之前需要注意的地方

Legacy support removed wecan focus on the modern features
Removed support for Unity 4.x, Unity 5.xand Unity 2017.x
Windows
Removed support for legacy Windows Metro (Phoneand 8.1)
Removed support for Windows XP
macOS
Minimum version changed to 10.12
Dropped OpenGL support
iOS / tvOS
Dropped 32-bit support
Dropped OpenGLES support
Minimum version changed to 11.0
Direct3D12 support requires minimum Unity 2019.3
Only in the Ultra Edition
WebGL plugin still included, but we do not support it (see WebGL platform notes)
10-bitvideo support has someelements that only work in the Ultra Edition and has other limitations as documented

来自有道翻译

传统支持被移除,我们可以专注于现代功能
移除对Unity 4的支持。x,单位5。xand Unity 2017.x
窗户
移除对遗留Windows Metro (phone和8.1)的支持
移除对Windows XP的支持
macOS
最低版本更改为10.12
放弃对OpenGL的支持
iOS / tvOS
放弃32位支持
放弃对OpenGLES的支持
最低版本更改为11.0
支持Direct3D12需要最低Unity 2019.3
只有Ultra版本
**仍然包含WebGL插件,但我们不支持它(参见WebGL平台说明)。**
10位视频支持有一些元素只在超版本中工作,并有其他限制文件

不支持的平台

在这里插入图片描述

不支持的平台
Linux桌面
卢明(Magic Leap)
电视平台(Tizen、三星TV等)
游戏机(XBox*、PlayStation、Switch等)
* XBox One可能支持使用UWP构建选项。不过我们还没有对此进行测试。

编码支持

在这里插入图片描述

Hap编解码器仅支持Windows和macOS平台。
NotchLC编解码器仅支持Windows平台。
空间音频仅支持Windows和Android平台。
10位纹理仅支持Windows, macOS, iOS和tvOS平台。
缓存仅支持Android和iOS平台。
实验功能。只能在Windows上使用。

目的

通过这篇博客可以学会什么

  1. 使用AVPro播放视频
  2. 使用AVPro播放多个视频
  3. 了解AVPro的一些的事件

使用AVPro播放视频

  1. 导入插件
    在这里插入图片描述

  2. 创建MediaReference(媒体引用)
    在这里插入图片描述

  3. 选择媒体引用的来源的路径类型,当前选择的是来自于StreramingAssets Foder
    在这里插入图片描述

  4. 选择文件
    在这里插入图片描述

  5. 创建MediaPlayer 源播放器
    在这里插入图片描述
    设置MediaPlayer然后为Media Reference赋值
    在这里插入图片描述是否自动播放视频是否自动播放视频。

  6. 创建一个Canvas
    在这里插入图片描述

  7. 创建一个AVPro Video
    在这里插入图片描述

  8. 添加Media Player

在这里插入图片描述

播放多个视频

我看的官方包中是使用的Playlist Media Player,我看了一下代码,很多,我就没在看下去了。然后我就自己想办法搞了一个。
MediaPlayer好像是不能作为预制体进行保存的。
在这里插入图片描述像这样进行布局之后,创建一个脚本clAVProTest然后将脚本挂在到AVPro Video上面。

在这里插入图片描述需要将MediaPlayerauto play设置为false
附加上极其敷衍的代码。

using System.Collections;
using System.Collections.Generic;
using RenderHeads.Media.AVProVideo;
using UnityEngine;
using UnityEngine.UI;

public class clAVProTest : MonoBehaviour
{
    public DisplayUGUI display;//播放器

    public MediaPlayer mediaPlayer1;
    public MediaPlayer mediaPlayer2;
    public MediaPlayer mediaPlayer3;
    public MediaPlayer mediaPlayer4;//

    public Button btnA;
    public Button btnB;
    public Button btnC;
    public Button btnD;//播放的按钮

    public Button btnStop;//停止
    public Button btnPause;//暂停
    public Button btnPlay;//播放

    void Start()
    {
        btnA.onClick.AddListener(() =>
        {
            display.CurrentMediaPlayer.Control.Stop();
            display.CurrentMediaPlayer = mediaPlayer1;
            display.CurrentMediaPlayer.Control.Play();
        });

        btnB.onClick.AddListener(() =>
        {
            display.CurrentMediaPlayer.Control.Stop();
            display.CurrentMediaPlayer = mediaPlayer2;
            display.CurrentMediaPlayer.Control.Play();
        });
        btnC.onClick.AddListener(() =>
        {
            display.CurrentMediaPlayer.Control.Stop();
            display.CurrentMediaPlayer = mediaPlayer3;
            display.CurrentMediaPlayer.Control.Play();
        });
        btnD.onClick.AddListener(() =>
        {
            display.CurrentMediaPlayer.Control.Stop();
            display.CurrentMediaPlayer = mediaPlayer4;
            display.CurrentMediaPlayer.Control.Play();
        });

        btnStop.onClick.AddListener(() =>
        {
            display.CurrentMediaPlayer.Control.Stop();
        });
        btnPause.onClick.AddListener(() =>
        {
            display.CurrentMediaPlayer.Control.Pause();
        });

        btnPlay.onClick.AddListener(() =>
        {
            display.CurrentMediaPlayer.Control.Play();
        });
    }
}


播放事件

using System.Collections;
using System.Collections.Generic;
using RenderHeads.Media.AVProVideo;
using UnityEngine;
using UnityEngine.UI;

public class clAVProTest : MonoBehaviour
{
    public DisplayUGUI display;//播放器

    public MediaPlayer mediaPlayer1;

    void Start()
    {
        display.CurrentMediaPlayer = mediaPlayer1;
        mediaPlayer1.Events.AddListener(OnMediaPlayerEvent);
        mediaPlayer1.Play();
    }


    /// <summary>
    /// AVPro事件管理
    /// </summary>
    /// <param name="mp"></param>
    /// <param name="et"></param>
    /// <param name="errorCode"></param>
    void OnMediaPlayerEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)
    {
        switch (et)
        {
            case MediaPlayerEvent.EventType.Started:
                Debug.Log("StartEvent");
                OnMediaPlayerStarted(mp);
                break;
            case MediaPlayerEvent.EventType.FinishedPlaying:
                Debug.Log("FinishEvent");
                OnMediaPlayerFinished(mp);
                break;
        }
    }
    /// <summary>
    /// 开始事件触发
    /// </summary>
    /// <param name="mp"></param>
    void OnMediaPlayerStarted(MediaPlayer mp)
    {
        Debug.Log("视频开始播放。");
    }
    /// <summary>
    /// 结束事件触发
    /// </summary>
    /// <param name="mp"></param>
    void OnMediaPlayerFinished(MediaPlayer mp)
    {
        Debug.Log("视频播放完毕。");
    }

}

其他事件

  • [跳转到视频的某一秒钟]
  • [为视频的某一秒添加事件]
  • [添加获取视频的总时长]

其他

问题1

使用Unity的VideoPlayer 在Win 7 SP1的上可能不能播放视频,使用AVPro可以解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/13568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

防孤岛保护装置在光伏行业的应用

安科瑞 华楠 应用场景 防孤岛原理&#xff1a;防孤岛保护装置检测到并网点有逆功率、频率突变、 等异常数据时&#xff0c;即发生孤岛现象时&#xff0c;装置可配合断路器快速切除并网点&#xff0c;使本站与电网侧快速脱离&#xff0c;保证整个电站和相关维护人员的生命安全 …

Go:Signal信号量的简介与实践(优雅的退出)

文章目录简介一、kill与kill9的区别二、实践&#xff1a;优雅的退出小结简介 go中的信号量 有些信号名对应着3个信号值&#xff0c;这是因为这些信号值与平台相关&#xff0c;SIGKILL和SIGSTOP这两个信号既不能被应用程序捕获&#xff0c;也不能被操作系统阻塞或忽略。 一、…

智慧管廊解决方案-最新全套文件

智慧管廊解决方案-最新全套文件一、建设背景二、建设意义三、建设目标四、思路架构综合管廊目前存在的痛点1、安全防范不足2、管理技术落后3、信息孤岛问题4、多头管理问题五、建设方案六、获取 - 智慧管廊全套最新解决方案合集一、建设背景 综合管廊一般是建于城市地下用于容…

NUMA架构详解

基本概念 为什么要有多处理器架构&#xff1f; 由于摩尔定律的失效&#xff0c;单个CPU内的晶体管的数量接近于饱和状态&#xff0c;因此单个CPU的性能已经接近饱和状态&#xff0c;这时&#xff0c;要想提高计算机的性能&#xff0c;就必须朝着多核架构发展。多核架构中&…

力扣(leetcode)刷题分享,简单题(第2期)

力扣第二期介绍1. 反转链表2. 移除链表元素3. 找链表的中间节点4. 寻找链表中的倒数第k个结点5. 合并两个有序链表总结第二期介绍 本期博客主要讲解的题目是有关链表的一些经典OJ题&#xff0c;有一定难度&#xff0c;希望大家耐心看完。 1. 反转链表 题目介绍&#xff1a; …

VUE Date类型前端判断动态校验

需求 原本需求 一个编号和一个日期在流程中的审查人节点必填&#xff0c;于是我就直接写了前端必填校验 所有代码和名称已做更改&#xff0c;不涉及到公司隐私 <CustomFormItem label"登记编号" prop"registerNo" v-if"asset_examiner form.node …

cleanmymac2023免费版纯净mac电脑系统管家

如今&#xff0c;我们在生活的方方面面都使用支持互联网的设备——查找信息、购物、银行、做作业、玩游戏&#xff0c;以及与朋友和家人保持联系。因此&#xff0c;我们的设备包含许多关于我们的个人信息。 此外&#xff0c;随着时间的推移&#xff0c;任何伟大的设备都会变得…

VIAVI唯亚威FFL-050/-100 可视故障定位仪

不管是进行安装还是故障排查&#xff0c;可视故障定位仪 (VFL) 都是快速、 方便定位光纤问题区域的必要工具。通过显示光纤损坏的准确位置&#xff0c; 技术人员能诊断、定位并有效地修复故障点。VFL 也可用于执行连接 性测试和光纤识别。 用于检查光纤弯曲和断裂、损伤位置和…

iNFTnews|Facebook、Twitter先后扑街,社交媒体的未来属于Web3?

最近埃隆马斯克&#xff08;Elon Musk&#xff09;收购推特的举动引发了热议。一方面&#xff0c;一些用户认为这位特立独行、做事说一不二的亿万富翁可以真正充分发挥平台的巨大潜力。但另外一部分人却因此担忧互联网未来的发展。 想想看&#xff0c;推特是世界上用户最多的社…

javaweb之会话技术

Cookie Cookie的基本使用 对于Cookie的使用&#xff0c;我们更关注的应该是后台代码如何操作Cookie&#xff0c;对于Cookie的操作主要分两大类&#xff0c;本别是发送Cookie和获取Cookie,对于上面这两块内容。 1、发送Cookie 创建Cookie对象&#xff0c;并设置数据 Cookie c…

6-1 邻接矩阵存储图的深度优先遍历

6-1 邻接矩阵存储图的深度优先遍历 分数 20 作者 DS课程组 单位 浙江大学 试实现邻接矩阵存储图的深度优先遍历。 函数接口定义&#xff1a; void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图&#xff0c;定义如下&#xff1a; t…

35岁互联网人只会被清退,是我听过最大的谎言

作为一个在测试行业摸爬滚打11年的老鸟&#xff0c;距离35岁还有两个月&#xff0c;目前在一家互联网公司担任 测试总监 的岗位。回看这些年的进阶之路&#xff0c;能做到今天的职位&#xff0c;关键的就是那几步。 而我认识的目前已失业和依然在做基层测试的同行&#xff0c;…

谷歌插件使用开发

谷歌插件 谷歌浏览器扩展程序&#xff1a;扩展是 Web 平台中使用的HTML、CSS、JavaScript、图像和其他文件的压缩包。可以修改用户浏览并与之交互中的web内容&#xff0c;它们还可以扩展和更改浏览器本身的行为。 开发核心 api 文档&#xff1a;link 插件主要是根据包内的mani…

mysql数据库主从同步

数据库版本 主&#xff1a;5.7.34 从&#xff1a;8.0.21 主数据库 修改mysql配置文件 my.ini&#xff08;windows&#xff09; 查看配置文件存在位置 -- 查看配置文件存在位置 show variables like %data%;修改内容 boo_db为同步的数据库名 server-id1log-binmysql-bin#目标…

手写一个单例模式,Demo,检测

手写一个单例模式&#xff0c;Demo&#xff0c;检测需求分析单例介绍一般情况DemoResult单例模式&#xff08;饿汉式—静态常量方式&#xff08;线程安全&#xff09;&#xff09;DemoResult懒汉式&#xff08;线程不安全&#xff09;DemoResult懒汉式&#xff08;加入锁机制&a…

K8s安装乐维5.0应用部署文档

乐维产品包具体打包为4个镜像包&#xff0c;分别为&#xff1a;mysql5.7.36.tar、zabbix_server.tar、itops_v1_4_x86_64.tar、bpm0.1.tar&#xff0c;对应的配置文件分别为&#xff1a;data.tar、conf.tar、nginx-v1.3.tar.gz、bpm12.zip。 K8s yaml文件具体打包为strogeclas…

[附源码]Python计算机毕业设计django学生学习评价与分析系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

数字逻辑·时序线路分析【触发器和时序线路分析方法】

课程目标 掌握触发器的特征表达式掌握触发器的激励表掌握触发器的状态表掌握时序线路分析方法 课程内容 D触发器 逻辑符号可以不画RD&#xff0c;SD&#xff0c;CP 上方&#xff1a;特征表达式&#xff1b;左下&#xff1a;激励表&#xff1b;右下&#xff1a;状态图 状态图…

list容器(20221117)

一、list容器 1、基本概念 功能&#xff1a;将数据进行链式存储 链表是一种物理存储单元上非连续的存储结构&#xff0c;数据元素的逻辑顺序是通过指针实现的 链表由一系列的节点组成&#xff1b; 节点的组成&#xff1a;一个是存储数据元素的数据域&#xff0c;另一个是存…

初探softmax

什么是softmax Softmax,又称作归一化指数函数。主要用于分类任务&#xff0c;降多分类的结果以概率的形式展现 下图展示softmax计算方法 softmax本质上是归一化网络&#xff0c;目的是将多个标量映射为一个概率分布,其输出的每一个值范围在&#xff08;0&#xff0c;1&#x…