Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

cargar MovieTexture desde archivo

Iniciado por HArlock1980, Agosto 30, 2016, 12:41:51 PM

Tema anterior - Siguiente tema
Agosto 30, 2016, 12:41:51 PM Ultima modificación: Septiembre 16, 2016, 02:21:18 PM por pioj
Buenos días,
 
Estoy teniendo problemas para cargar un vídeo desde una ruta en el disco, si lo hago agregándolo desde el inspector NO da error, pero necesito cargarlo desde un directorio.
 

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class MovieText : MonoBehaviour {
    public MovieTexture MT;
    private string path = "file://C:/Video/New_CABPINT.ogv";
    private WWW www;
    // Use this for initialization
    public void Start () {
        StartCoroutine(LoadMovie());
    }
    
    public IEnumerator LoadMovie()
    {
        www = new WWW(path);
        yield return www;
        MT = www.movie;
    }
    
}

 
Alguien puede decirme que estoy haciendo mal? el error que me da es el siguiente:
 



   
      MoviePlayback::LoadMovieData got NULL!
      UnityEngine.WWW:get_movie()
   

[/quote]
 
La dirección C:/Video/New_CABPINT.ogv es correcta, de hecho haciendo Ctrl+click sobre la variable path va a buscar el video y quiere descargarlo
 
A ver si alguien me puede echar una mano, gracias!

Agosto 30, 2016, 05:38:53 PM #1 Ultima modificación: Septiembre 01, 2016, 09:13:59 AM por pioj

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
[RequireComponent(typeof(RawImage))]
public class playVideo : MonoBehaviour {
    public string path = "file://D:/bbb_theora_486kbit.ogv";
    void Start ()
    {
        StartCoroutine(LoadMovie());  
    }
    IEnumerator LoadMovie()
    {
        WWW www = new WWW(path);
        yield return www;      
        GetComponent<RawImage>().texture = www.movie;
        ((MovieTexture)GetComponent<RawImage>().texture).Play();
    }
}

 
 
 
El código funciona correctamente desde un GameObject tipo UI-->RawImage, pero sin sonido ya que la consola muestra dos mensajes:
 



   
       
   
   
      LoadMoveData got NULL!
      UnityEngine.WWW:get_movie()
      <LoadMovie>c__Iterator0:MoveNext() (at Assets/Proyecto/playVideo.cs:19)
   
   
      Error: Cannot create FMOD::Sound instance for resource (null), (An invalid parameter was passed to this function. )
      UnityEngine.WWW:get_movie()
      <LoadMovie>c__Iterator0:MoveNext() (at Assets/Proyecto/playVideo.cs:19)
   
   
       
   

[/quote]
 
Según la documentación Unity requiere para Windows tener instalado QuickTime para poder importar video: "Video files are imported via Apple QuickTime. Supported file types are what your QuickTime installation can play (usually .mov, .mpg, .mpeg, .mp4, .avi, .asf). On Windows movie importing requires Quicktime to be installed."
 
MovieTexture: https://docs.unity3d.com/Manual/class-MovieTexture.html
 
Yo no lo tengo instalado, supongo que por esta razón muestra esos mensajes de error en la importación, aunque si que puedo visualizarlo sin sonido.

Septiembre 01, 2016, 04:14:03 PM #2 Ultima modificación: Septiembre 01, 2016, 04:14:20 PM por HArlock1980
Muchas gracias por responder.
 
No es problema de eso creo, yo sí tengo instalado QuickTime y de hecho funciona en la versión 5.2.3, pero no en la 5.4 quizás sea un bug ¿?

Etiquetas: