MovieTexture不会播放音频

时间:2015-04-21 17:29:27

标签: unity3d audio-player

我正在尝试动态加载和播放视频文件。无论我做什么,我似乎都无法弄清楚为什么音频不能播放。

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 个答案:

答案 0 :(得分:1)

更改为:

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

即使AudioClip继承自Object,对movieTexture.audioClip的调用似乎也会返回复制版本,而不是按值向对象返回引用。因此,当我分配它时,它尚未创建,并且必须等到电影“准备播放”,直到获取audioClip。