Unity内运行时播放视频没问题,导出后用火狐打开就放不了,看控制台报错是
1 | 已拦截跨源请求:同源策略禁止读取位于 file:///Users/.../unity/Backups/WebV0.3/sharedassets0.resource 的远程资源。(原因:CORS 请求不是 http)。 |
解决方法
WebGL只能通过URL播放视频
火狐浏览器设置允许跨域
security.fileuri.strict_origin_policy改false
火狐浏览器设置允许播放视频
各种失败尝试记录
1.
写了问题原因,但是没看到针对Unity怎么解决
2.
说把privacy.file_unique_origin改成false,但是它已经是false了
3.
发现Unity中Video Player的视频源有视频剪辑和URL两种方式
之前用的是视频剪辑,直接把mp4文件拖进去
改用URL试试,从浏览中找到同一个文件,测试也可以播放。试了一个网络上的mp4的URL,测试也可以
那或许可以尝试把mp4上传,然后用URL访问
试试这个用爱奇艺开放平台的
发现注册应用必须有url
4.
再找一下有没有视频托管网站
https://www.zhihu.com/question/23036186/answer/1716470191
找了一个酷播云,视频要审核,等会再看(似乎不能直接拿到URL,可能要凉)
http://www.stonepoll.com/helpcenter/hc/kb/article/fcc34c50-301a-822a-df8c-e690f5af5bb5/
腾讯云要买服务,算了先
又传了一个优酷的,等会看审核
得,拿不到mp4的URL
5.
还是从浏览器入手吧,试试允许跨域
https://blog.csdn.net/nju_zjy/article/details/108870385
参考这个,装一个火狐插件
没用
多试了几个插件,都没用
6.
有找到一个调浏览器设置的
把security.fileuri.strict_origin_policy改成false
【重启后不报错了!】
但是视频还是播放不了
7.
WebGL不支持mp4?!…
转成ogv。没用
8.
找了一个在线的mp4地址,本地ok
导出WebGL运行,不报错,播放不了
9.
https://blog.csdn.net/weixin_43779625/article/details/103410836
改用Render Texture的方式(以前是材质覆盖)
不行(甚至本地都显示不了视频,只有声音)
10.
说WebGL不支持高分辨率
试试在检查器里设置转码 1/4分辨率,比特率模式低,空间质量低
导出,不行
11.
火狐还有阻止音视频的默认设置??关掉
mp4和ogv都不行
12.
https://blog.csdn.net/s1314_JHC/article/details/80618252
还有说是WebGL不支持MovieTexture的,用插件
导出后是黑的,疯狂报错
13.
这个说WebGL只能通过url播放
现在调过火狐的设置了,再试试url吧
!!!!!!!!!!!!成功了😭!!!!!!!!!!!!