unity 播放视频 WWW下载StreamingAssets文件

1.

2.

3.

4.

5.

6.代码如下

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class test : MonoBehaviour
{
public MovieTexture kk;
bool stopflag = false;
AudioClip _clip;
AudioSource _source;
// Use this for initialization
void Start()
{
//var _movie=Resources.Load<MovieTexture>("movie/movie");
//设置当前对象的主纹理为电影纹理
transform.GetComponent<Renderer>().material.mainTexture = kk;
//设置电影纹理播放模式为循环
kk.loop = true;
_source = Camera.main.GetComponent<AudioSource>();
_clip = kk.audioClip;
GameObject.Find("Playbtn").GetComponent<Button>().onClick.AddListener(() =>
{
kk.Play();
if(stopflag)
{
_source.Play();
}
});
GameObject.Find("Pausebtn").GetComponent<Button>().onClick.AddListener(() =>
{
kk.Pause();
});
GameObject.Find("Stopbtn").GetComponent<Button>().onClick.AddListener(() =>
{
kk.Stop();
stopflag = true;
});
}

// Update is called once per frame
void Update()
{

}
}

7.我希望可以动态加载音频文件,而不是拖动的

8.代码如下

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class test : MonoBehaviour
{
//public MovieTexture kk;
bool stopflag = false;
AudioClip _clip;
AudioSource _source;
// Use this for initialization
void Start()
{
var kk = Resources.Load<MovieTexture>("movie/movie");
//设置当前对象的主纹理为电影纹理
transform.GetComponent<Renderer>().material.mainTexture = kk;
//设置电影纹理播放模式为循环
kk.loop = true;
_source = Camera.main.GetComponent<AudioSource>();
_clip = kk.audioClip;
_source.clip = _clip;
GameObject.Find("Playbtn").GetComponent<Button>().onClick.AddListener(() =>
{
kk.Play();
_source.Play();
if (stopflag)
{
stopflag = false;
_source.Play();
}
});
GameObject.Find("Pausebtn").GetComponent<Button>().onClick.AddListener(() =>
{
kk.Pause();
});
GameObject.Find("Stopbtn").GetComponent<Button>().onClick.AddListener(() =>
{
kk.Stop();
stopflag = true;
});
}

// Update is called once per frame
void Update()
{

}
}

9.

10.WWW加载StreamingAssets的文件

11.全部代码

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class test : MonoBehaviour
{
bool stopflag = false;
AudioClip _clip;
AudioSource _source;
WWW www;
private MovieTexture kk;
// Use this for initialization
void Start()
{
StartCoroutine(Down());//异步操作
GameObject.Find("Playbtn").GetComponent<Button>().onClick.AddListener(() =>
{
kk.Play();
_source.Play();
if (stopflag)
{
stopflag = false;
_source.Play();
}
});
GameObject.Find("Pausebtn").GetComponent<Button>().onClick.AddListener(() =>
{
kk.Pause();
});
GameObject.Find("Stopbtn").GetComponent<Button>().onClick.AddListener(() =>
{
kk.Stop();
stopflag = true;
});
}

IEnumerator Down()//异步操作
{
www = new WWW("file:///" + Application.streamingAssetsPath + "/movie.ogg");
yield return www;//等待,知道www把资源下载完,执行下一步
if (string.IsNullOrEmpty(www.error))
{
Debug.LogError("错误为NULL!");
}
if(www.error=="")
{
Debug.LogError("错误为空!");//这个没进来
}
if (www.error == null)
{
Debug.LogError("错误为null");
}
if (www.isDone)
{
Debug.LogError("down");
}
Debug.LogError(www.error);
kk = www.movie;
//设置当前对象的主纹理为电影纹理
transform.GetComponent<Renderer>().material.mainTexture = kk;
//设置电影纹理播放模式为循环
kk.loop = true;
_source = Camera.main.GetComponent<AudioSource>();
_clip = kk.audioClip;
_source.clip = _clip;
}

// Update is called once per frame
void Update()
{

}
}

时间: 2024-10-12 12:33:20

unity 播放视频 WWW下载StreamingAssets文件的相关文章

Unity播放视频之WebGL

环境:win10, Unity2018.2.6f1, vs2015 就用Unity自带的VideoPlayer用法都知道,就不赘述了 而且之前在别的文章里也说过,当初做一个安卓端应用,一开始用的是Unity5.6.2,莫名卡顿,换了2017.3就好了,所以要用videoplayer的话,建议unity用2017及以上版本 好了,这次遇到的就是程序发布成webgl版,在网页上视频不播放的问题 就是弄好了让它自动播放,Play On Awake 然后布置到iis上,打开--经测试,只有edge浏览器

Unity发布安卓无法读取StreamingAssets文件下数据库的问题

在移动端StreamingAssets下的文件是只读的,但大家可能跟我一样遇到了发布安卓以后放在StreamingAssets下的数据库文件一样读取不了, 但其实这个文件夹其实是可以读取到的,所以我们需要使用XML来读取文件,然后转存到persistentDataPath目录下,下面是代码: 1 public static class Config 2 { 3 public static string filepath = Application.persistentDataPath + "/T

ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调试功能正常)

ABBPlayerKit ios开发视频播放后台下载功能实现 : 代码下载地址:https://github.com/niexiaobo/ABBPlayerKit github资料学习和下载地址:https://github.com/niexiaobo/ 实现功能 :播放视频 ,视频后台下载 (真机调试功能正常) 1.使用ZFPlayer播放视频(可以在线和本地播放,基于AVPlayer,调节音量和屏幕亮度) 2.使用 WHCNetWorkKit 实现下载,后台下载(多任务同时下载,单任务下载,

unity 中播放视频

Unity视频播放有很多种实现方式,可根据要求来选择适当的实现,这里总结一下: 1. MovieTexture Unity标准接口,支持的播放视频格式有.mov..mpg..mpeg..mp4..avi和.asf.仅支持PC端的本地视频播放. 1. 在游戏对象中播放,就好比在游戏世界中创建一个Plane面对象,摄像机直直的照射在这个面上 在新建的一个plane平面,将其纹理绑定为电影纹理即可 //设置当前对象的主纹理为电影纹理 renderer.material.mainTexture = mo

unity 播放外部视频

摘要: Unity支持的播放视频格式有.mov..mpg..mpeg..mp4..avi和.asf.只需将对应的视频文件拖拽入Project视图即可,它会自动生成对应的MovieTexture对象. 1.Unity3D中播放游戏视频的方式有两种,第一种是在游戏对象中播放,就好比在游戏世界中创建一个Plane面对象,摄像机直直的照射在这个面上.第二种是在GUI层面上播放视频.播放视频其实和贴图非常相像,因为播放视频用到的MovieTexture属于贴图Texture的子类 //电影纹理 publi

Unity+高通Vuforia SDK——AR播放视频

在之前的文章中我们已经实现了基本的图片识别,并在识别的图片上显示3D模型,但是有的时候我们实际上需要在识别的图片上播放一段视频,那么接下来我们就来说说如何实现这样的操作. 一.资源下载: 这里我们需要准备的资料如下: 1.一段.m4v格式的视频: 其他格式的视频可以通过格式转换成.mp4格式,然后修改后缀名为.m4v,即mp4和m4v是可以互转的: 2.Vuforia官方提供的一个Video Playback组件: 下载地址在官网Downloads/Samples(链接地址)下面的Advance

移动端播放视频文件

移动端 在移动端,unity并不提供MovieTexture,AVPro QuickTime也用不了,其最基本的显示方案使用通过PlayFullScreenMovie()函数进行全屏播放,根据其官网解释,主要有以下方面: (1)视频流直接从设备存储器中获得,所以文件只能是单独提供,视频文件放置在StreamingAssets 文件夹中 (2) 视频播放过陈中,Unity将会停止:播放结束后unity自动恢复:播放过程中屏幕中的颜色会变为播放器的背景颜色,播放之后恢复. (3)在IOS中,内部实际

Unity中实现播放视频

突然想着在一个cube物体上播放视频会是怎样的情景.今天终于有时间来尝试下了.结果=>成功 下面来说说详细的步骤吧 准备阶段: 1.unity pro 专业版 =>  需正版(当然破解版也ok,你懂的). 2.安装QuickTime Player.必须要安装,否则导入movie资源时,unity会自动报错提醒的. 3.安装格式化工厂软件=>movie格式转换.其他工具也ok.我这里默认转换为MOV格式.100M的avi转换后大概7M. ====================== uni

Unity播放带Alpha通道的视频(unity play channel movie)

最近讨论在unity播放带alpha通道的视频,一开始一点效果也没有,然后搜索各种解决方案,总结出三种不太好的方案,有更好的方案的希望大家提出来. 方案重点两个方面:         1.能否播放带alpha通道的视频         2.播放的视频和三维场景的层级关系 1.剔除 使用一个剔除的shader,不渲染黑色部分 shader代码如下: Shader "AlphaVideo/CullingVideo" { Properties { _MainTex("Base (R