public void Play(string _file) { this.m_FileName = _file; if (!this.m_Play) { return; } string path = UserData.Create("audio") + _file; if (!File.Exists(path)) { return; } if (Singleton <Studio.Studio> .Instance.bgmCtrl.play) { Singleton <Studio.Studio> .Instance.bgmCtrl.Stop(); } Singleton <Sound> .Instance.StopBGM(0.0f); string empty = string.Empty; AudioClip clip = ExternalAudioClip.Load(path, 0L, (uAudio.uAudio_backend.uAudio)null, ref empty); if (Object.op_Equality((Object)clip, (Object)null)) { Debug.LogWarning((object)string.Format("読めないよ : {0}", (object)_file)); } else { Singleton <Sound> .Instance.Play(Sound.Type.BGM, clip, 0.0f); } }
public static float[] CreateRangedRawData( byte[] data, int wavBufIndex, int samples, int channels, int bitPerSample) { float[] numArray = new float[samples * channels]; int num = bitPerSample / 8; int index1 = wavBufIndex; try { for (int index2 = 0; index2 < numArray.Length; ++index2) { numArray[index2] = ExternalAudioClip.ByteToFloat(data, index1, bitPerSample); index1 += num; } } catch (Exception ex) { Console.WriteLine(ex.ToString() + ": 対応してない音声ファイル"); return(Enumerable.Empty <float>().ToArray <float>()); } return(numArray); }
public void SongPlay() { if (this.State == 1) { return; } this.State = (PlayBackState)1; try { mp3AudioClip.SongDone = false; mp3AudioClip.flare_SongEnd = false; this.UAudio.targetFile = (__Null)this.targetFile; if (Object.op_Equality((Object)this.myAudioSource.get_clip(), (Object)null)) { if (this.UAudio.LoadMainOutputStream()) { long songLength = (long)this.UAudio.get_SongLength(); string szErrorMs = (string)null; this.myAudioSource.set_clip(ExternalAudioClip.Load(this.targetFile, (long)this.UAudio.get_SongLength(), this.UAudio, ref szErrorMs)); this.CurrentTime = TimeSpan.Zero; try { if (this.sendPlaybackState != null) { this.sendPlaybackState((PlayBackState)1); } } catch { Debug.LogWarning((object)"theAudioStream_sendStartLoopPump #32fw46hw465h45h"); } } else { this.myAudioSource.set_clip((AudioClip)null); } } if (Object.op_Inequality((Object)this.myAudioSource.get_clip(), (Object)null)) { if (this.myAudioSource.get_isPlaying()) { return; } this.myAudioSource.Play(); } else { this.State = (PlayBackState)0; } } catch (Exception ex) { this.State = (PlayBackState)0; Debug.LogWarning((object)"uAudioPlayer - Play #j356j536j356j56j"); Debug.LogWarning((object)ex); } }
public void LoadFile(string szTargetName) { if (szTargetName != this.targetFile) { this.SongEnd(); } this.targetFile = szTargetName; ExternalAudioClip.LoadFile(szTargetName, this.targetFile, ref this._loadedTarget, this.UAudio); }
public static float[] CreateRangedRawData( string path, int wavBufIndex, int samples, int channels, int bitPerSample) { byte[] data = File.ReadAllBytes(path); return(data.Length == 0 ? (float[])null : ExternalAudioClip.CreateRangedRawData(data, wavBufIndex, samples, channels, bitPerSample)); }
private void Awake() { harmony = HarmonyWrapper.PatchAll(typeof(Hooks)); var ass = Assembly.GetExecutingAssembly(); var soundDir = Path.Combine(Path.GetDirectoryName(ass.Location), PluginName); foreach (var filePath in Directory.GetFiles(soundDir)) { var clip = ExternalAudioClip.Load(filePath); slaps.Add(clip); } }
public static AudioClip Load( string path, long SongLength, uAudio.uAudio_backend.uAudio uAudio, ref string szErrorMs) { string extension = Path.GetExtension(path); if (extension == ".wav" || extension == ".WAV") { WaveHeader waveHeader = WaveHeader.ReadWaveHeader(path); float[] rangedRawData = ExternalAudioClip.CreateRangedRawData(path, waveHeader.TrueWavBufIndex, waveHeader.TrueSamples, (int)waveHeader.Channels, (int)waveHeader.BitPerSample); return(rangedRawData.Length == 0 ? (AudioClip)null : ExternalAudioClip.CreateClip(Path.GetFileNameWithoutExtension(path), rangedRawData, waveHeader.TrueSamples, (int)waveHeader.Channels, waveHeader.Frequency)); } if (!(extension == ".mp3") && !(extension == ".MP3")) { return((AudioClip)null); } mp3AudioClip._uAudio = uAudio; AudioClip audioClip = mp3AudioClip.LoadMp3(path, SongLength); szErrorMs = mp3AudioClip.szErrorMs; return(audioClip); }