【问题标题】:Unity + Android + Daydream, download video file and play in appUnity + Android + Daydream,下载视频文件并在应用程序中播放
【发布时间】:2017-02-23 11:34:40
【问题描述】:

我想从 URL 下载视频并在我为 Android 制作的 unity / Daydream 应用中播放。

我不确定将下载的视频保存在哪里,以便应用程序使用它。

我可以将视频下载到 Android Application.persistentDataPath,但是当我尝试将视频下载到 StreamingAssets 路径时,它似乎不起作用。

我觉得我需要从 StreamingAssets 路径读取视频文件?

感谢您的帮助:)

【问题讨论】:

    标签: android unity3d daydream


    【解决方案1】:

    我通过对 Daydream Unity SDK 中的 Daydream 视频示例稍作修改,成功实现了这一点。在 SwitchVideo.cs 的“ShowSample”函数中,我替换了加载新视频的代码。

    我正在做的是:

    1. 将视频下载到 Application.persistentDataPath 下。
    2. 在文件路径前添加file://。我相信这是必要的,因为您还可以使用 jar: 访问内置于 jar 中的文件,这些文件需要解压缩。您下载的没有。
    3. GvrVideoPlayerTexture.videoURL 设置为此路径。
    4. 在这种情况下,type 设置为 other,内容 ID 和提供者 ID 留空。
    5. 致电ReInitializeVideo

        var www = new WWW("https://archive.org/download/Pbtestfilemp4videotestmp4/video_test_512kb.mp4");
        var path = Application.persistentDataPath + "/a.mp4";
      
        while (!www.isDone) {
          print(www.progress);
        }
        File.WriteAllBytes(path, www.bytes);
      
        var video = videoSamples[i].GetComponentInChildren<GvrVideoPlayerTexture>();
        video.videoURL = "file://" + path;
        video.ReInitializeVideo();
      

    请注意,您也可以流式传输视频。如果您将 videoURL 设置为 http 路径,它应该可以工作,但我假设您想要一些可以保存视频以供离线使用的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多