请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

本文来自

EasyAR 教程

EasyAR 教程

1 人已关注

EasyAR引擎使用教程,使用案例。

精选帖子

EasyAR扫描识别图播放网络视频。

[复制链接]

8

主题

41

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
94715 QQ260185343 发表于 2016-4-14 17:31:16
本帖最后由 QQ260185343 于 2016-4-15 15:37 编辑

在HelloARVideo里面提供了播放本地StreamingAssets中视频的方法,但是如果视频很多,打包起来会很大,所以这里提供一种将视频放在网上,然后通过网络加载的方法。
QQ截图20160415153604.png
QQ截图20160414172951.png
  1. <div class="blockcode"><blockquote>using UnityEngine;
  2. using System.Collections;
  3. using System.IO;

  4. public class PlayVideo: MonoBehaviour
  5. {
  6.         public GameObject Target;                  //网络视频地址
  7.         private string Url_movie;                     //视频下载本地存储地址
  8.         private string Url_save;                       //文件
  9.         FileInfo file;
  10.         int ForZ;

  11.         //不同平台下StreamingAssets的路径是不同的,这里需要注意一下。
  12. public static readonly string PathURL =
  13. #if UNITY_ANDROID
  14.                 "jar:file://" + Application.dataPath + "!/assets/";
  15. #elif UNITY_IPHONE
  16.                 Application.dataPath + "/Raw/";
  17. #elif UNITY_STANDALONE_WIN || UNITY_EDITOR
  18.         "file://" + Application.dataPath + "/StreamingAssets/";
  19. #else
  20.         string.Empty;
  21. #endif

  22.         void Awake ()
  23.         {
  24.                 ForZ = 0;
  25.                 Url_movie = "http://bmw2.thefront.com.cn/m2_2016/media/final.mp4";        
  26.                 //Url_movie = "http://bsyqncdn.miaopai.com/stream/jnyEqgHIBvr~XVRWJXbT6g__.mp4";
  27.                 //Url_save = Application.persistentDataPath + "/test.mp4";                 //初始化文件
  28.                 Url_save = PathURL + "112233.mp4";//初始化文件
  29.                 file = new FileInfo (Url_save);

  30.         }

  31.         void Start ()
  32.         {                
  33.                
  34.                
  35.                 if (!file.Exists) {                                 //判断文件是否下载过
  36.                         StartCoroutine ("downmovie");
  37.                 } else {                                           //文件存在 直接播放视频
  38.                         if (Target.activeSelf == true) {
  39.                                 print ("文件存在 直接播放视频");
  40.                 //        Handheld.PlayFullScreenMovie (Url_save, Color.black, FullScreenMovieControlMode.Full);       

  41.                 }  
  42.                 }
  43.         }

  44.         void Update ()
  45.         {
  46.                 if (Target.activeSelf == false) {
  47.                         ForZ = 0;
  48.                 }
  49.                 if (Target.activeSelf == true && ForZ == 0) {
  50.        
  51.                         Playermov ();
  52.                         ForZ = 1;
  53.                 }
  54.         }

  55.         IEnumerator downmovie ()
  56.         {        
  57.                 //加载www        
  58.                 WWW _www = new WWW (Url_movie);        
  59.                 yield return _www;
  60.                 if (_www.isDone) {
  61.                         print ("视频加载完成");                
  62.                         //获取www的字节                        
  63.                         byte[] bytes = _www.bytes;        
  64.                         creat (bytes);                
  65.                 }
  66.         }
  67.         //文件的流写入
  68.         void creat (byte[] bytes)
  69.         {
  70.                 Stream str;        
  71.                 //文件创建        
  72.                 str = file.Create ();
  73.                 //文件写入        
  74.                 str.Write (bytes, 0, bytes.Length);        
  75.                 //关闭并销毁流                
  76.                 str.Close ();        
  77.                 str.Dispose ();         
  78.                 //播放视频        
  79.         //        Playermov ();
  80.         }
  81.         void Playermov ()
  82.         {        
  83.         print ("xx");
  84.                 Handheld.PlayFullScreenMovie (Url_movie, Color.black, FullScreenMovieControlMode.Hidden);       

  85.         }
  86. }
复制代码


回复

使用道具 举报

apparitionqk 发表于 2016-4-15 13:59:42
哥们,我用的是XCODE开发的,我将demo中的网络视频地址更换为我自己的视频链接之后,一直提示 video erro xxxxxxx (-1),请问在线视频有什么注意的地方么
回复 支持 反对

使用道具 举报

jsgang 发表于 2016-5-12 10:48:51
apparitionqk 发表于 2016-4-15 13:59
哥们,我用的是XCODE开发的,我将demo中的网络视频地址更换为我自己的视频链接之后,一直提示 video erro x ...

在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES
回复 支持 反对

使用道具 举报

apparitionqk 发表于 2016-5-12 15:55:29
jsgang 发表于 2016-5-12 10:48
在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES

已经搞定了,不过还是谢谢了
回复 支持 反对

使用道具 举报

y40153 发表于 2016-8-4 09:52:39
我新手,现在用这个EASYAR开发了APP本地识别视频播放已经掌握了,但是这个网络播放有个问题,我现在正常播放可以,但是每次都是全屏播放就不像AR,我想要附在识别图上播放的,研究了很久不知道怎么搞,求解
回复 支持 反对

使用道具 举报

qiang101418 发表于 2016-8-12 10:07:38
楼上的能加你qq吗,我想了解下怎么能做出本地视频播放的
回复 支持 反对

使用道具 举报

lhlisme 发表于 2016-8-15 09:30:52
EasyAR播放的网络视频不能是透明视频吧?有没有办法解决呢?
回复 支持 反对

使用道具 举报

shutun1 发表于 2016-8-18 18:34:00
这个收费么 ,
回复 支持 反对

使用道具 举报

easyar309 发表于 2017-5-9 11:49:27
要是在具体一点就好啦,零基础的表示看不懂咯
回复 支持 反对

使用道具 举报

ritchie 发表于 2017-5-26 18:05:55
apparitionqk 发表于 2016-4-15 13:59
哥们,我用的是XCODE开发的,我将demo中的网络视频地址更换为我自己的视频链接之后,一直提示 video erro x ...

你好,可以加下qq嘛417146146感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表