using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Video;
public class VideoAssetManager : SingletonMonoBehaviour<VideoAssetManager>
{
[SerializeField]
private string label=null;
private List<VideoClip> videoClips = new List<VideoClip>();
private Dictionary<string, int> videoDic = new Dictionary<string, int>();
protected override void Awake()
{
base.Awake();
StartCoroutine(InitVideoClips());
}
//首先根据label得到所有这个Label的ResourceLocation
//然后得到相应key,依次加载,实体加入列表,释放
//同时建立一个名字和列表index的映射字典
private IEnumerator InitVideoClips()
{
var location = Addressables.LoadResourceLocationsAsync(label);
yield return location;
for (int i = 0; i < location.Result.Count; i++)
{
string clip = location.Result[i].PrimaryKey;
var asyncOperationHandl
Unity AddressableAssets +VideoPlayer
最新推荐文章于 2024-05-06 13:01:37 发布
本文介绍了一个用于Unity游戏开发的视频资产管理与播放系统。通过使用Addressables加载资源,该系统可以初始化并管理多个视频片段,建立视频名称与列表索引的映射字典,实现视频的快速检索和播放。此外,还提供了一个视频控制器类,用于切换和停止视频播放。

最低0.47元/天 解锁文章
3012

被折叠的 条评论
为什么被折叠?



