HoloLens读取和下载Json文件问题(个人Hololens2进阶开发小总结二)

本文介绍了在Unity中为HoloLens2开发时如何读取和下载Json文件,详细阐述了从定义Json结构到读取数据、下载视频的步骤,并探讨了文件存储路径问题。通过读取Json文件中的url,实现了Hololens2上视频的动态更新功能。
摘要由CSDN通过智能技术生成


HoloLens文件存储路径问题`

在上一期中介绍了在Unity编辑器下开发HoloLens时文件怎么存储,存储在哪里的问题。具体链接:

个人Hololens2进阶开发小总结一(HoloLens下载、读取与存储Json文件路径问题)


提示:以下是本篇文章正文内容

HoloLens读取和下载Json文件

其实在Unity编辑器下开发HoloLens时读取Json文件的操作与正常的读取操作一样,只不过要解决好读取的路径问题。

比如我有这样一个Json文件:

在这里插入图片描述

其中url为下载链接。项目需要实现服务器更新视频链接时我在HoloLens2打开时再次获取这个Json文件,url链接也会变换,即可实现更新本地的视频。

一、具体步骤

1.先定义需要的Json文件成员

[System.Serializable]
class data
{
    public string url;
    public string name;
}
[System.Serializable]
class Video
{
    public data[] data;
}
注意class data为Json里面你需要获取到的成员字段,Video是你随便取名字

2.读取数据

public static string ReadData()
{
    string readData;
    string fileUrl = Application.persistentDataPath + "/VideoJSON/video.json";
    using (StreamReader sr = File.OpenText(fileUrl))
    {
        readData = sr.ReadToEnd();
        sr.Close();
    }
    return readData;
}
fileUrl具体在哪里 你可以先在Hololens2后台里面找找这个文件有没有下载到,具体实现在上一期有讲

3.根据Json中url链接下载对应的视频链接

public void DownVideo()
{
    string vs = ReadData();
    Video v = JsonUtility.FromJson<Video>(vs);
    foreach(data a in v.data)
    {
        Debug.Log(a.name);//这里你就可以用你获取到的name和url了
        Debug.Log(a.url);
    }
}
获取到url后就可以开始下载了

4.下载

IEnumerator DownVideo(string downloadVideoName, string videoURL)
    {
        path = Application.persistentDataPath + @"/Video";//填写想把视频存放在Hololens2本机的路径

        if (!Directory.Exists(path))
        {
            Directory.CreateDirectory(path);
        }
        Debug.Log("下载" + path);

        WWW www = new WWW(videoURL);
        yield return www;

        if (!string.IsNullOrEmpty(www.error))
        {
            Debug.Log("请求失败");
        }
        else
        {
            fs = File.Create(path + "/" + downloadVideoName + ".mp4"); //path为你想保存文件的路径。
            fs.Write(www.bytes, 0, www.bytes.Length);
            fs.Close();
            Debug.Log("视频下载成功");
        }

    }

总结

到这里,关于HoloLens下载、读取与存储Json文件路径的问题已经解决了,因为项目不仅需要在Hololens2本机中实现根据服务器修改的Json文件更新视频,还需要更新在部分场景中的模型、材质以及动画的功能,这里就涉及到在Unity编辑器下开发Hololens2时AssetBundle资源管理问题,这个在下期再来谈谈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值