I have been looking at the WWW.movie documentation and i can seam to get it working.
https://docs.unity3d.com/ScriptReference/WWW-movie.html
The code below is attached to a cube containing both the GUI Texture and Audio Source Components. if anyone can help me to get this working i would be very greatful.
I am using unity 5.5.1 and am creating a VR application.
using UnityEngine;
using System.Collections;
public class TouchMovie1 : MonoBehaviour {
public string url = "file://C:/Users/blobbymatt/VRLibrary/Videos/video.ogv";
// Use this for initialization
void Start () {
StartCoroutine(loadAndPlay ());
}
// Update is called once per frame
void Update () {
}
IEnumerator loadAndPlay() {
// Start download
var www = new WWW(url);
// Make sure the movie is ready to start before we start playing
var movieTexture = www.movie;
while (!movieTexture.isReadyToPlay) {
yield return null;
Debug.Log("Loading");
}
var gt = GetComponent< GUITexture > ();
// Initialize gui texture to be 1:1 resolution centered on screen
gt.texture = movieTexture;
// Assign clip to audio source
// Sync playback with audio
var aud = GetComponent< AudioSource > ();
aud.clip = movieTexture.audioClip;
// Play both movie & sound
movieTexture.Play();
aud.Play();
yield return null;
}
}
You shouldn't be using
GUITexture
because it obsolete. If you want to display video, do it on theRawImage
component withGetComponent<RawImage>().texture = yourMovieTexture;
.If you want to do it on a 3D Model then do it on the
MeshRenderer
component withGetComponent<MeshRenderer>().material.mainTexture = yourMovieTexture
.If using Unity 5.6 and above:
Replace
with
There is a new API to play video in Unity 5.6. You can see an example here.
With the
RawImage
component, you can do it with the code below: