This repository has been archived by the owner on Mar 25, 2018. It is now read-only.
/
AudioUtil.cs
140 lines (140 loc) · 5.52 KB
/
AudioUtil.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
using System;
using System.Runtime.CompilerServices;
using UnityEngine;
using UnityEngine.Internal;
namespace UnityEditor
{
internal sealed class AudioUtil
{
public static extern bool resetAllAudioClipPlayCountsOnPlay
{
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
get;
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
set;
}
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern void PlayClip(AudioClip clip, [DefaultValue("0")] int startSample, [DefaultValue("false")] bool loop);
[ExcludeFromDocs]
public static void PlayClip(AudioClip clip, int startSample)
{
bool loop = false;
AudioUtil.PlayClip(clip, startSample, loop);
}
[ExcludeFromDocs]
public static void PlayClip(AudioClip clip)
{
bool loop = false;
int startSample = 0;
AudioUtil.PlayClip(clip, startSample, loop);
}
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern void StopClip(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern void PauseClip(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern void ResumeClip(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern void LoopClip(AudioClip clip, bool on);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern bool IsClipPlaying(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern void StopAllClips();
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern float GetClipPosition(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetClipSamplePosition(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern void SetClipSamplePosition(AudioClip clip, int iSamplePosition);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetSampleCount(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetChannelCount(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetBitRate(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetBitsPerSample(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetFrequency(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetSoundSize(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern AudioCompressionFormat GetSoundCompressionFormat(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern Texture2D GetWaveForm(AudioClip clip, AssetImporter importer, int channel, float width, float height);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern Texture2D GetWaveFormFast(AudioClip clip, int channel, int fromSample, int toSample, float width, float height);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern void ClearWaveForm(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern bool HasPreview(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern double GetDuration(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetFMODMemoryAllocated();
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern float GetFMODCPUUsage();
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern bool IsMovieAudio(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern bool IsTrackerFile(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetMusicChannelCount(AudioClip clip);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern AnimationCurve GetLowpassCurve(AudioLowPassFilter lowPassFilter);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern Vector3 GetListenerPos();
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern void UpdateAudio();
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern void SetListenerTransform(Transform t);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern bool HaveAudioCallback(MonoBehaviour behaviour);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetCustomFilterChannelCount(MonoBehaviour behaviour);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern int GetCustomFilterProcessTime(MonoBehaviour behaviour);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern float GetCustomFilterMaxIn(MonoBehaviour behaviour, int channel);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern float GetCustomFilterMaxOut(MonoBehaviour behaviour, int channel);
}
}