| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 
							- // You need to define AVPRO_PACKAGE_TIMELINE manually to use this script
 
- // We could set up the asmdef to reference the package, but the package doesn't 
 
- // existing in Unity 2017 etc, and it throws an error due to missing reference
 
- //#define AVPRO_PACKAGE_TIMELINE
 
- #if (UNITY_2018_1_OR_NEWER && AVPRO_PACKAGE_TIMELINE)
 
- using UnityEngine;
 
- using UnityEngine.Playables;
 
- using UnityEngine.Timeline;
 
- using System.Collections.Generic;
 
- //-----------------------------------------------------------------------------
 
- // Copyright 2020-2021 RenderHeads Ltd.  All rights reserved.
 
- //-----------------------------------------------------------------------------
 
- namespace RenderHeads.Media.AVProVideo.Playables
 
- {
 
- 	public class MediaPlayerControlMixerBehaviour : PlayableBehaviour
 
- 	{
 
- 		public float audioVolume = 1f;
 
- 		public string videoPath = null;
 
- 		public override void ProcessFrame(Playable playable, FrameData info, object playerData)
 
- 		{
 
- 			MediaPlayer mediaPlayer = playerData as MediaPlayer;
 
- 			float finalVolume = 0f;
 
- 			if (!mediaPlayer)
 
- 				return;
 
- 			int inputCount = playable.GetInputCount(); //get the number of all clips on this track
 
- 			for (int i = 0; i < inputCount; i++)
 
- 			{
 
- 				float inputWeight = playable.GetInputWeight(i);
 
- 				ScriptPlayable<MediaPlayerControlBehaviour> inputPlayable = (ScriptPlayable<MediaPlayerControlBehaviour>)playable.GetInput(i);
 
- 				MediaPlayerControlBehaviour input = inputPlayable.GetBehaviour();
 
- 				
 
- 				// Use the above variables to process each frame of this playable.
 
- 				finalVolume += input.audioVolume * inputWeight;
 
- 			}
 
- 			if (mediaPlayer != null)
 
- 			{
 
- 				mediaPlayer.AudioVolume = finalVolume;
 
- 				if (mediaPlayer.Control != null)
 
- 				{
 
- 					mediaPlayer.Control.SetVolume(finalVolume);
 
- 				}
 
- 			}
 
- 		}
 
- 	}
 
- }
 
- #endif
 
 
  |