scripts
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine.Audio;
|
||||
using UnityEngine.Playables;
|
||||
|
||||
namespace UnityEngine.Timeline
|
||||
{
|
||||
// Token: 0x0200002C RID: 44
|
||||
[TrackClipType(typeof(AudioPlayableAsset))]
|
||||
[TrackClipType(typeof(AudioClip))]
|
||||
[TrackMediaType(TimelineAsset.MediaType.Audio)]
|
||||
[Serializable]
|
||||
public class AudioTrack : TrackAsset
|
||||
{
|
||||
// Token: 0x0600019C RID: 412 RVA: 0x00008130 File Offset: 0x00006330
|
||||
public TimelineClip CreateClip(AudioClip clip)
|
||||
{
|
||||
TimelineClip timelineClip;
|
||||
if (clip == null)
|
||||
{
|
||||
timelineClip = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
TimelineClip timelineClip2 = base.CreateDefaultClip();
|
||||
AudioPlayableAsset audioPlayableAsset = timelineClip2.asset as AudioPlayableAsset;
|
||||
if (audioPlayableAsset != null)
|
||||
{
|
||||
audioPlayableAsset.clip = clip;
|
||||
}
|
||||
timelineClip2.underlyingAsset = clip;
|
||||
timelineClip2.duration = (double)clip.length;
|
||||
timelineClip2.displayName = clip.name;
|
||||
timelineClip = timelineClip2;
|
||||
}
|
||||
return timelineClip;
|
||||
}
|
||||
|
||||
// Token: 0x0600019D RID: 413 RVA: 0x000081A0 File Offset: 0x000063A0
|
||||
internal override Playable OnCreatePlayableGraph(PlayableGraph graph, GameObject go, IntervalTree tree)
|
||||
{
|
||||
AudioMixerPlayable audioMixerPlayable = AudioMixerPlayable.Create(graph, base.clips.Length, false);
|
||||
for (int i = 0; i < base.clips.Length; i++)
|
||||
{
|
||||
TimelineClip timelineClip = base.clips[i];
|
||||
PlayableAsset playableAsset = timelineClip.asset as PlayableAsset;
|
||||
if (!(playableAsset == null))
|
||||
{
|
||||
float num = 0.1f;
|
||||
AudioPlayableAsset audioPlayableAsset = timelineClip.asset as AudioPlayableAsset;
|
||||
if (audioPlayableAsset != null)
|
||||
{
|
||||
num = audioPlayableAsset.bufferingTime;
|
||||
}
|
||||
Playable playable = playableAsset.CreatePlayable(graph, go);
|
||||
tree.Add(new ScheduleRuntimeClip(timelineClip, playable, audioMixerPlayable, (double)num, 0.1));
|
||||
graph.Connect<Playable, AudioMixerPlayable>(playable, 0, audioMixerPlayable, i);
|
||||
playable.SetSpeed(timelineClip.timeScale);
|
||||
playable.SetDuration(timelineClip.extrapolatedDuration);
|
||||
audioMixerPlayable.SetInputWeight(playable, 1f);
|
||||
}
|
||||
}
|
||||
return audioMixerPlayable;
|
||||
}
|
||||
|
||||
// Token: 0x0600019E RID: 414 RVA: 0x00008298 File Offset: 0x00006498
|
||||
internal override void OnCreateClipFromAsset(Object asset, TimelineClip newClip)
|
||||
{
|
||||
if (asset is AudioClip)
|
||||
{
|
||||
AudioPlayableAsset audioPlayableAsset = ScriptableObject.CreateInstance<AudioPlayableAsset>();
|
||||
audioPlayableAsset.clip = asset as AudioClip;
|
||||
newClip.asset = audioPlayableAsset;
|
||||
newClip.underlyingAsset = asset;
|
||||
newClip.duration = audioPlayableAsset.duration;
|
||||
newClip.displayName = (asset as AudioClip).name;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000086 RID: 134
|
||||
// (get) Token: 0x0600019F RID: 415 RVA: 0x000082F4 File Offset: 0x000064F4
|
||||
public override IEnumerable<PlayableBinding> outputs
|
||||
{
|
||||
get
|
||||
{
|
||||
yield return new PlayableBinding
|
||||
{
|
||||
sourceObject = this,
|
||||
streamName = base.name,
|
||||
streamType = DataStreamType.Audio,
|
||||
sourceBindingType = typeof(AudioSource)
|
||||
};
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user