如果我在Mac上动态加载视频播放器的网址,则它可以正常工作,但是在iphone上构建和播放时,我会收到此错误,而在android上,它可以工作:
CredStore - performQuery - Error copying matching creds. Error=-25300, query={
class = inet;
"m_Limit" = "m_LimitAll";
"r_Attributes" = 1;
sync = syna;
}
这是功能:
public void WI_PlayVideo(string target, string video)
{
MyVideo = GameObject.Find(target).GetComponent<VideoPlayer>();
if (MyVideo == null)
{
Debug.Log("player non trovato");
}
else
{
//here there's the file name that is public whithout credential request
MyVideo.url = "https://myspace.ams3.digitaloceanspaces.com/" + video;
MyVideo.Play();
}
任何人都知道ios会问我什么证书?
添加评论
答案 0 :(得分:1)
在调用VideoPlayer.Play()
函数播放视频之前,应始终调用VideoPlayer.Prepare()
并等待其结束。例如,请参见this。
如果您已完成此操作,但问题仍然存在,则当尝试从某些URL播放视频时,这很可能是Unity VideopPlayer
API中的https错误。
您应该做的第一件事是将Unity更新到最新版本,然后进行测试,看看是否已修复此错误。如果尚未解决,建议您在当前项目中提交错误报告,并确保在其中包含完整的视频URL,因为这是重新创建问题的必要条件。
在等待解决此问题的同时,解决此问题的方法是使用API下载并保存视频。 This是这样做的方法。之后,从本地驱动器播放视频。
如果视频太大,那么下载和保存它会花费很多时间,那么您可以使用DownloadHandlerScript
API批量下载视频数据,使用HttpListener
创建本地服务器,然后在下载数据块数据时将其发送到连接的客户端。有关如何创建本地服务器并从中播放视频的完整示例,请参见此post。您只需要用DownloadHandlerScript
中的数据替换发送给客户端的数据即可。