video texture plays too fast when adding audio

I have a video texture on a primitive cube; attached to that is a PlayMovie-Script with the functions play and stop.
The player can play and stop the movie with a mousedownbutton. Everything went well, all the scripts work and the video plays whenever i want to.

But when I added the corresponding audioclip to the gameobject (imported with the video of course), something strange happened: the whole video plays with sound, but suddenly at 4 times the speed than it should be.
This is the line of code where I start video & audio:

function Play () { renderer.material.mainTexture.Play(); Debug.Log("played movie!"); audio.Play(); PlayerCollisions.moviePlays = true; }

If I disable //audio.Play(); the speed is back to normal.

Ideas, anyone?

For all those that share this problem, the issue appears when .play() is called more than once either on video or audio. Make sure you call .play() inside an if (!video.isPlaying) statement. Here is a script for playing either video or audio with delay and/or via trigger showing how this is done correctly:

#pragma strict

var delay : float = 0.0;
private var timer : float;
private var video : MovieTexture;
private var isPlaying : boolean = false;
var MovieObject : GameObject = null;
private var obj_audio : AudioSource;
var play_on_trigger : boolean = false;
private var play : boolean = false;
var loop : boolean = false;

function Start () {
	timer = delay;   
	if (MovieObject == null) MovieObject = gameObject;
	if (MovieObject!=null)	{ 
		if (MovieObject.renderer) 
		{
			video = MovieObject.renderer.material.mainTexture as MovieTexture;	
		}
		obj_audio = MovieObject.GetComponent(AudioSource);
		if (obj_audio != null) {
		}
	}
	if (!play_on_trigger) 
		play = true;
	if (loop && video) {
		video.loop = true;
	}
}

function Update () {
	if (MovieObject != null && play) {
		if (timer < 0) {
			if ( MovieObject.renderer) 
				MovieObject.renderer.enabled = true;
			if (video && !video.isPlaying) {
				video.Play();
			}
			if (obj_audio && !obj_audio.isPlaying) {
				obj_audio.Play();
			}
			else Debug.Log(MovieObject.name+" no audio");
			isPlaying = true;
		}
		timer -= Time.deltaTime;
	}

}

function OnTriggerEnter()
{
	play = true;
}

seems like it may have been a bug - rebuild the scene, did exactly the same as before, and now it works as it should.

just in case anybody else encounters the problem :wink: