我正在尝试动态加载和播放视频文件。无论我做什么,我似乎都无法弄清楚为什么音频不能播放。
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作为指导,但没有骰子。控制台中没有显示错误。
我做错了什么让音频永远不起作用?
提前感谢您的帮助!
答案 0 :(得分:1)
更改为:
while (!movieTexture.isReadyToPlay) yield return 0;
var movieAudio = movieTexture.audioClip;
即使AudioClip
继承自Object
,对movieTexture.audioClip
的调用似乎也会返回复制版本,而不是按值向对象返回引用。因此,当我分配它时,它尚未创建,并且必须等到电影“准备播放”,直到获取audioClip。