Unity Debug WebGL播放视频
coconutnut

Unity内运行时播放视频没问题,导出后用火狐打开就放不了,看控制台报错是

1
已拦截跨源请求:同源策略禁止读取位于 file:///Users/.../unity/Backups/WebV0.3/sharedassets0.resource 的远程资源。(原因:CORS 请求不是 http)。

解决方法

  1. WebGL只能通过URL播放视频

    Unity2019在WebGL下播放视频

  2. 火狐浏览器设置允许跨域

    security.fileuri.strict_origin_policy改false

    Firefox火狐浏览器访问本地文件-提示跨域问题

  3. 火狐浏览器设置允许播放视频

    Unity2018发布webgl视频无法播放

各种失败尝试记录

1.

https://blog.kongregate.com/unity-html5-cors-and-you/

写了问题原因,但是没看到针对Unity怎么解决

2.

https://www.jianshu.com/p/78904381ba32

说把privacy.file_unique_origin改成false,但是它已经是false了

3.

发现Unity中Video Player的视频源有视频剪辑和URL两种方式

之前用的是视频剪辑,直接把mp4文件拖进去

改用URL试试,从浏览中找到同一个文件,测试也可以播放。试了一个网络上的mp4的URL,测试也可以

那或许可以尝试把mp4上传,然后用URL访问

https://blog.csdn.net/weixin_33912453/article/details/94087306?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.baidujs&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.baidujs

试试这个用爱奇艺开放平台的

发现注册应用必须有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.

有找到一个调浏览器设置的

https://blog.csdn.net/qq_28867949/article/details/99890103?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242

把security.fileuri.strict_origin_policy改成false

【重启后不报错了!】

但是视频还是播放不了

7.

https://blog.csdn.net/qq_38229886/article/details/103139228?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242

WebGL不支持mp4?!…

转成ogv。没用

8.

找了一个在线的mp4地址,本地ok

导出WebGL运行,不报错,播放不了

9.

https://blog.csdn.net/weixin_43779625/article/details/103410836

改用Render Texture的方式(以前是材质覆盖)

不行(甚至本地都显示不了视频,只有声音)

10.

https://blog.csdn.net/JLX_Sir/article/details/82684491?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.baidujs&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.baidujs

说WebGL不支持高分辨率

试试在检查器里设置转码 1/4分辨率,比特率模式低,空间质量低

导出,不行

11.

https://blog.csdn.net/qq_34243277/article/details/114398872?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242

火狐还有阻止音视频的默认设置??关掉

mp4和ogv都不行

12.

https://blog.csdn.net/s1314_JHC/article/details/80618252

还有说是WebGL不支持MovieTexture的,用插件

导出后是黑的,疯狂报错

13.

https://blog.csdn.net/wuyt2008/article/details/107592492?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161752087116780265448826%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161752087116780265448826&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~times_rank-10-107592492.first_rank_v2_pc_rank_v29&utm_term=unity+webgl+%E8%A7%86%E9%A2%91%E9%BB%91%E5%B1%8F

这个说WebGL只能通过url播放

现在调过火狐的设置了,再试试url吧

!!!!!!!!!!!!成功了😭!!!!!!!!!!!!