Sound not synchron pls help, my friend

heyho i have the problem that my audio and video isnt synchron. I have the feeling the sound start preparing after the clip started which leads to asynchron sound but i cant just make a timer which says start the video after few frames becasue when i build it on other devices the buffertime changes too pls help here my code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
using UnityEngine.Playables;
using UnityEngine.Audio;


public class startthevideomyprecious : MonoBehaviour {

	//Raw Image to Show Video Images [Assign from the Editor]
	//public RawImage image;
	public string Scenecode;

	public AudioMixerGroup mixerGroup;

	//Video To Play [Assign from the Editor]
	public VideoClip videoToPlay;

	private VideoPlayer videoPlayer;
	private VideoSource videoSource;

	//Audio
	private AudioSource audioSource;

	// Use this for initialization
	void Start()
	{
		Application.runInBackground = true;
		StartCoroutine(playVideo());

		audioSource.outputAudioMixerGroup = mixerGroup;

		videoPlayer.loopPointReached += EndReached;
	}
		

	IEnumerator playVideo()
	{
		//Add VideoPlayer to the GameObject
		videoPlayer = gameObject.AddComponent<VideoPlayer> ();

		//Add AudioSource
		audioSource = gameObject.AddComponent<AudioSource> ();

		//Disable Play on Awake for both Video and Audio
		videoPlayer.playOnAwake = false;
		audioSource.playOnAwake = false;

		//We want to play from video clip not from url
		videoPlayer.source = VideoSource.VideoClip;

		//Set Audio Output to AudioSource
		videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;

		//Assign the Audio from Video to AudioSource to be played
		videoPlayer.EnableAudioTrack (0, true);
		videoPlayer.SetTargetAudioSource (0, audioSource);

		//Set video To Play then prepare Audio to prevent Buffering
		videoPlayer.clip = videoToPlay;
		videoPlayer.Prepare ();

		//Wait until video is prepared
		while (!videoPlayer.isPrepared) {
			Debug.Log ("Preparing Video");
			yield return null;
		}

		Debug.Log ("Done Preparing Video");

		//Assign the Texture from Video to RawImage to be displayed
		//image.texture = videoPlayer.texture;

		//Play Video
		videoPlayer.Play ();

		//Play Sound
		audioSource.Play ();


	
	}
	void EndReached(UnityEngine.Video.VideoPlayer vp)
	{
		UnityEngine.SceneManagement.SceneManager.LoadScene (Scenecode);
	}
}


no ideas?