c# - 如何在 UNITY3D 的 AR 核心会话期间从 url 加载视频?
问题描述
在使用 AR 核心进行增强现实会话期间尝试从 url 加载视频时,我一直面临挑战。
以前我一直在使用本地放置在文件夹中的视频,但我想优化应用程序的大小,这就是我需要使用 URL 的原因。
这是我一直用于不想播放视频的 URL 的代码:
using UnityEngine;
using UnityEngine.Video;
using GoogleARCore;
public class ScreenV : MonoBehaviour
{
[SerializeField] string[] _VideoURLs;
public AugmentedImage Image;
private VideoPlayer videoPlayer;
void Start()
{
videoPlayer = GetComponent<VideoPlayer>();
videoPlayer.source = VideoSource.Url;
}
void Update()
{
if (Session.Status != SessionStatus.Tracking)
return;
if (Image == null || Image.TrackingState != TrackingState.Tracking)
{
return;
}
if (Image != null || Image.TrackingState == TrackingState.Tracking)
{
videoPlayer.url = _VideoURLs[Image.DatabaseIndex];
videoPlayer.Play();
}
transform.localScale = new Vector3(Image.ExtentX, Image.ExtentZ, 1);
}
以前,我一直在使用类似的代码行在增强现实中播放视频剪辑,这些都没有问题。
public class ScreenV : MonoBehaviour
{
[SerializeField] VideoClip[] _Clips;
public AugmentedImage Image;
private VideoPlayer videoPlayer;
void Start()
{
videoPlayer = GetComponent<VideoPlayer>();
videoPlayer.source = VideoSource.VideoClip;
}
void Update()
{
if (Session.Status != SessionStatus.Tracking)
return;
if (Image == null || Image.TrackingState != TrackingState.Tracking)
{
return;
}
if (Image != null || Image.TrackingState == TrackingState.Tracking)
{
videoPlayer.clip = _Clips[Image.DatabaseIndex];
videoPlayer.Play();
}
transform.localScale = new Vector3(Image.ExtentX, Image.ExtentZ, 1);
}
我试图在开始阶段获取 url,它工作正常,所以 AR 会话可以从 url 播放视频。
void Start()
{
videoPlayer = GetComponent<VideoPlayer>();
videoPlayer.source = VideoSource.Url;
videoPlayer.url = _VideoURLs[5];
}
但是,我需要根据跟踪的图像来索引 URL,因此它需要处于更新循环中。
有谁知道为什么 AR 会话不想在更新循环中从 url 加载视频?
先感谢您
解决方案
推荐阅读
- r - 如何在 R 中使用“'try”来跳过 for 循环中的错误
- python - 使用 regEx 之类的 switch-case 向 python DataFrame 添加一个新列
- assembly - 存储字,加载字和移动之间的区别
- javascript - ASP.NET 部分回发上的 Chrome 自动填充(更新面板)
- postgresql - Postgres 有必要在这个 where 子句中包含两个谓词吗?
- spring - SpringBoot:没有符合条件的 bean 类型
- visual-studio - 在使用 DirectX 11 的系统上编译和运行 VS2017CE 项目时,如何强制使用 DirectX 10 库和 .dll 文件?
- html - CSS - 防止文本换行符破坏弹性对齐
- python - 如何使帖子类别列表在 django 的所有页面中可见
- dns - 具有内部 DNS 名称服务器的 OpenVPN 服务器