Update Cryville.Audio.
This commit is contained in:
@@ -26,6 +26,7 @@ namespace Cryville.Crtr {
|
||||
public static string GameDataPath { get; private set; }
|
||||
public static string UnityDataPath { get; private set; }
|
||||
public static IAudioDeviceManager AudioManager;
|
||||
public static IAudioDevice AudioDevice;
|
||||
public static AudioClient AudioClient;
|
||||
public static SimpleSequencerSource AudioSequencer;
|
||||
public static SimpleSequencerSession AudioSession;
|
||||
@@ -89,6 +90,16 @@ namespace Cryville.Crtr {
|
||||
ffmpeg.RootPath = "";
|
||||
#else
|
||||
#error No FFmpeg search path.
|
||||
#endif
|
||||
|
||||
#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
|
||||
EngineBuilder.Engines.Add(typeof(Audio.Wasapi.MMDeviceEnumeratorWrapper));
|
||||
EngineBuilder.Engines.Add(typeof(Audio.WaveformAudio.WaveDeviceManager));
|
||||
#elif UNITY_ANDROID
|
||||
EngineBuilder.Engines.Add(typeof(Audio.AAudio.AAudioManager));
|
||||
EngineBuilder.Engines.Add(typeof(Audio.OpenSLES.Engine));
|
||||
#else
|
||||
#error No audio engine defined.
|
||||
#endif
|
||||
while (true) {
|
||||
try {
|
||||
@@ -99,8 +110,13 @@ namespace Cryville.Crtr {
|
||||
}
|
||||
else {
|
||||
Logger.Log("main", 1, "Audio", "Using audio API: {0}", AudioManager.GetType().Namespace);
|
||||
AudioClient = AudioManager.GetDefaultDevice(DataFlow.Out).Connect();
|
||||
AudioClient.Init(AudioClient.DefaultFormat);
|
||||
AudioDevice = AudioManager.GetDefaultDevice(DataFlow.Out);
|
||||
AudioClient = AudioDevice.Connect(AudioDevice.DefaultFormat, AudioDevice.MinimumBufferSize + AudioDevice.BurstSize);
|
||||
Logger.Log(
|
||||
"main", 1, "Audio",
|
||||
"Audio Output = {{ Name = \"{0}\", BurstSize = {1}, Format = {2}, BufferSize = {3} }}",
|
||||
AudioDevice.Name, AudioDevice.BurstSize, AudioClient.Format, AudioClient.BufferSize
|
||||
);
|
||||
AudioClient.Source = AudioSequencer = new SimpleSequencerSource();
|
||||
AudioSession = AudioSequencer.NewSession();
|
||||
AudioSequencer.Playing = true;
|
||||
@@ -147,6 +163,7 @@ namespace Cryville.Crtr {
|
||||
try {
|
||||
AudioClient.Dispose();
|
||||
AudioSequencer.Dispose();
|
||||
AudioDevice.Dispose();
|
||||
AudioManager.Dispose();
|
||||
}
|
||||
catch (Exception ex) {
|
||||
|
Reference in New Issue
Block a user