// 功能:
// 挂载对象:
//注意:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class wwwLocalScript : MonoBehaviour
{
// 外部创建一个Image;
public Image m_image;
// 外部的一个sphere
public GameObject m_sphere;
//外部的展示视频的Rowimage
public RawImage m_rowimage;
//视频纹理
MovieTexture m_MoveTexture;
// 视频中的声音
public AudioSource m_MoveAudio;
///
/// www加载本地图片
/// 1, 给个路径
/// 2,创建一个www 的实例 (new 一个)
/// 3,
///
void Start ()
{
//加载桌面图片
string imagedesktop = "file:/Users/lanou3g/Desktop/My123.jpg";
//string imageFilePath = "file://" + Application.dataPath + "/Resources/MyPicture.png";
// 加载图片资源的实例
//WWW imageWWW = new WWW (imageFilePath);
WWW imageWWW = new WWW (imagedesktop);
while (imageWWW.isDone == false) {
print ("加载中..." + imageWWW.progress);
}
//如果是往image组件或者Cube上添加图片 根据加载的材质转换为sprite
Texture2D m_texture = imageWWW.texture;
// 使用代码将texture 转换为sprite
Sprite sprite = Sprite.Create (m_texture, new Rect (0, 0, m_texture.width,
m_texture.height), new Vector2 (0.5f, 0.5f)); //0.5 像素点
m_image.sprite = sprite;// 给图片赋值
// 将加载的texture 转换为sphere 的主材质
m_sphere.GetComponent ().material.mainTexture = imageWWW.texture;
// 不使用WWW类加载本地视频
//StartCoroutine (LoadLocalMove (null));
//加载本地视频
string moveFilePath = "file://" + Application.dataPath + "/Resources/BearBird.ogg";
//使用WWW类加载本地视频
StartCoroutine (LoadLocalMove (moveFilePath));
}
// 使用WWW类加载本地视频
IEnumerator LoadLocalMove (string url)
{
WWW www = new WWW (url);
// 防止没有加载完成
while (www.isDone == false) {
// 打印进度条
print (www.progress);
// 等待下一帧 再从这里开始
yield return null;
}
// 只有上面的yiled return null 不再继续(www.isDone != false) 下面的代码才会执行
//交由RowImage展示
m_MoveTexture = www.movie;
// 准备好后交由RowImage展示
m_rowimage.texture = m_MoveTexture;
// 拿到视屏中的音频并播放
m_MoveAudio.clip = m_MoveTexture.audioClip;
m_MoveTexture.loop = true;// 设置视频循环播放
m_MoveAudio.loop = true;// 设置音频循环播放
m_MoveTexture.Play ();//播放视频
m_MoveAudio.Play ();// 播放音频
}
//加载本地视频 不使用WWW加载本地视频
//IEnumerator LoadLocalMove (string url)
//{
//// 不使用WWW加载本地视频
//while (m_MoveTexture == null) {
//m_MoveTexture = Resources.Load ("BearBird")as MovieTexture;
//Debug.Log ("视频文件找到 开始播放...");
//yield return null;
//}
//// 放在RowImage 中去播放视频
//m_rowimage.texture = m_MoveTexture;
//// 拿到视屏中的音频并播放
//m_MoveAudio.clip = m_MoveTexture.audioClip;
//
//m_MoveTexture.loop = true;// 设置视频循环播放
//m_MoveAudio.loop = true;// 设置音频循环播放
//
//m_MoveTexture.Play ();//播放视频
//m_MoveAudio.Play ();// 播放音频
//}
}
网友评论