C# 从unity for android平台中的服务器获取纹理
如何从unity for android平台中的服务器获取纹理 www和unitywebrequest不在android上工作。。它们在编辑器内部工作得很好 www类给出了连接被拒绝的异常 unityweb请求给出未知错误C# 从unity for android平台中的服务器获取纹理,c#,android,unity3d,C#,Android,Unity3d,如何从unity for android平台中的服务器获取纹理 www和unitywebrequest不在android上工作。。它们在编辑器内部工作得很好 www类给出了连接被拒绝的异常 unityweb请求给出未知错误 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UI; public
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class UIpopulator : MonoBehaviour {
public GameObject[] Recentthumb;
public GameObject featuredThumb;
//public GameObject videoThumb;
jsonparse jp;
public Text uu;
// Use this for initialization
void Start()
{
}
public IEnumerator changeText(int i,RawImage img)
{
string userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36";
Dictionary<string, string> headers = new Dictionary<string, string>();
headers.Add("User-Agent", userAgent);
jp = GetComponent<jsonparse>();
// Start a download of the given URL
WWW www = new WWW(jp.turl[i],null,headers);
print("progress :"+www.progress);
// Wait for download to complete
yield return www;
if (www.error == null)
{
uu.text = "success";
img.texture = www.texture;
}
else
{
uu.text = www.error;
}
img.GetComponent<videoUrl>().setUrl(jp.vurl[i]);
}
IEnumerator GetTexture(int i, RawImage img)
{
jp = GetComponent<jsonparse>();
UnityWebRequest www = UnityWebRequest.GetTexture(jp.turl[i]);
yield return www.Send();
if (www.isError)
{
uu.text = www.error;
}
else {
img.texture = DownloadHandlerTexture.GetContent(www);
}
img.GetComponent<videoUrl>().setUrl(jp.vurl[i]);
}
// Update is called once per frame
void Update()
{
}
void SaveTextureToFile(Texture2D texture, string filename)
{
System.IO.File.WriteAllBytes(filename, texture.EncodeToPNG());
}
void setRecentThumb()
{
int i = jsonparse.videoCount;
StartCoroutine(changeText(i - 1, Recentthumb[0].GetComponent<RawImage>()));
StartCoroutine(changeText(i - 2, Recentthumb[1].GetComponent<RawImage>()));
}
void setFeatured()
{
int i = jsonparse.videoCount;
StartCoroutine(changeText(0, featuredThumb.GetComponent<RawImage>()));
}
public void UiSetup()
{
setRecentThumb();
setFeatured();
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
使用UnityEngine。联网;
使用UnityEngine.UI;
公共类UIpopulator:MonoBehavior{
公共游戏对象[]最近的拇指;
公共游戏对象功能;
//公共游戏对象;
jsonparse-jp;
公共文本uu;
//用于初始化
void Start()
{
}
公共IEnumerator changeText(int i,RawImage img)
{
string userAgent=“Mozilla/5.0(Windows NT 10.0;WOW64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/56.0.2924.87 Safari/537.36”;
字典头=新字典();
添加(“用户代理”,userAgent);
jp=GetComponent();
//开始下载给定的URL
WWW=newwww(jp.turl[i],空,标题);
打印(“进度:+www.progress”);
//等待下载完成
收益率;
如果(www.error==null)
{
uu.text=“成功”;
img.texture=www.texture;
}
其他的
{
uu.text=www.error;
}
img.GetComponent().setUrl(jp.vurl[i]);
}
IEnumerator GetTexture(int i,RawImage img)
{
jp=GetComponent();
UnityWebRequest www=UnityWebRequest.GetTexture(jp.turl[i]);
收益率返回www.Send();
如果(www.isError)
{
uu.text=www.error;
}
否则{
img.texture=DownloadHandlerTexture.GetContent(www);
}
img.GetComponent().setUrl(jp.vurl[i]);
}
//每帧调用一次更新
无效更新()
{
}
void SaveTextureToFile(Texture2D纹理,字符串文件名)
{
System.IO.File.writealBytes(文件名,texture.EncodeToPNG());
}
void setRecentThumb()
{
int i=jsonparse.videoCount;
Start例程(changeText(i-1,Recentthumb[0].GetComponent());
start例程(changeText(i-2,Recentthumb[1].GetComponent());
}
void setFeatured()
{
int i=jsonparse.videoCount;
start例程(changeText(0,featuredThumb.GetComponent());
}
公共设置()
{
setRecentThumb();
setFeatured();
}
}在PC上构建并测试它。如果构建工作在PC上,那么问题很可能是“用户代理”。如果这是一个问题,这是一个重复的,你可以找到答案。是的,pc构建工程。。但我正在尝试从本地服务器获取纹理。。我也试着从那条线索中找到解决办法。。它仍然不工作,我知道你正在试图从服务器获取图像。你到底试了什么?你能用你尝试过的修改过的代码更新你的问题吗?更新了代码好的。我注意到您在changeText和GetTexture函数中也在做同样的事情。你到底在用哪一个?我希望您此时使用changeText。