c# - 访问 Easy Movie Texture 的文件路径

标签 c# android ios unity-game-engine virtual-reality

我正在为 iOS/Android 制作 VR 应用程序。 我刚买了 Easy Movie Texture,使用最新的 Unity 版本。

我可以播放其中一个视频。但我不知道如何播放多个视频。 例如,如何制作纸板点击触发器来切换电影?

我正在使用球体示例。 我创建了一个游戏对象,它的 update() 函数里面有一个 if(Carboard.SDK.Triggered),我想更改球体中的目标参数(媒体播放器控制脚本)。 (换视频)

我如何访问这个对象?该对象究竟是在哪里创建的?

最佳答案

简而言之,mediaPlayerCtrl.Load(movieName) 会更改影片。电影必须位于 StreamingAssets 中才能正常工作(Android 上可以使用 SD 卡,但需要更多努力)。

由于您在定位 MediaPlayerCtrl 实例时遇到问题,这里有一个简单的解决方案。将此脚本添加到 Easy Movie Texture 的示例中,并使用 ChangeMovie 方法。

using UnityEngine;

public class EMTChangeFile : MonoBehaviour
{

    // drag an instance of Media Player Ctrl or leave empty for autodetection
    public MediaPlayerCtrl mediaPlayerCtrl;

    void Awake ()
    {
        if (mediaPlayerCtrl == null)
        {
            mediaPlayerCtrl = FindObjectOfType<MediaPlayerCtrl>();
            if (mediaPlayerCtrl == null)
                throw new UnityException("No Media Player Ctrl object in scene");
        }
    }

    public void ChangeMovie(string movieName, bool autoplay = true)
    {
        mediaPlayerCtrl.Stop();
        mediaPlayerCtrl.Load(movieName);
        if(autoplay)
            mediaPlayerCtrl.Play();
        else
            mediaPlayerCtrl.Stop();
    }

}

关于c# - 访问 Easy Movie Texture 的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38660790/

相关文章:

java - Eclipse/Java/Android - 使用调试器查看位图

android - 在 Rider IDE 中设置 Android Xamarin 解决方案未检测到框架

ios - 无法调用非函数类型 SKShapeNode 的值

c# - 为什么 EF 生成外键?

c# - 如何创建驻留在托盘中的无窗口 C# 应用程序?

c# - 如何将字符串编码为 UTF-8 到预先存在的字节数组?

android - 如何拥有一个自动滚动的TextView

iphone - iPhone/iOS 平台可用的分析服务/库?

ios - 配置文件之间有什么区别?

c# - 检查类/接口(interface)继承的正确方法是什么?