2015-04-21 3 views
0

Я пытаюсь динамически загружать и воспроизводить видеофайл. Независимо от того, что я делаю, я не могу понять, почему звук не играет.MovieTexture не воспроизводит аудио

var www = new WWW("http://unity3d.com/files/docs/sample.ogg"); 
var movieTexture = www.movie; 
var movieAudio = www.movie.audioClip; 
while (!movieTexture.isReadyToPlay) yield return 0; 

// Assign movie texture and audio 
var videoAnimation = videoAnimationPrefab.GetComponent<VideoAnimation>(); 
var videoRenderer = videoAnimation.GetVideoRenderer(); 
var audioSource = videoAnimation.GetAudioSource(); 
videoRenderer.material.mainTexture = movieTexture; 
audioSource.clip = movieAudio; 

// Play the movie and sound 
movieTexture.Play(); 
audioSource.Play(); 

// Double check audio is playing... 
Debug.Log("Audio playing: " + audioSource.isPlaying); 

Каждый раз, когда я не получаю Audio playing: False

Я также попытался с помощью GUITexture using this в качестве руководства, но не кости. В консоли не отображаются ошибки.

Что я делаю неправильно, что делает звук никогда не работать?

Заранее благодарим за любую помощь!

ответ

1

Изменен:

while (!movieTexture.isReadyToPlay) yield return 0; 
var movieAudio = movieTexture.audioClip; 

Даже хотя AudioClip наследует от Object, вызов movieTexture.audioClip, кажется, возвращает скопированную версию вместо возвращения ссылки по значению объекта. Поэтому в то время, когда я его назначал, он еще не был создан и должен был ждать, пока фильм не будет готов к воспроизведению, до получения аудиоклипа.

 Смежные вопросы

  • Нет связанных вопросов^_^