private void OnSectionOffset(AudioSection audioSection, AudioStreamSection streamSection) { if (!audioSection.LoopIndefinitely) { PlayNextSection(audioSection, streamSection); } }
private void OnSectionEnd(AudioSection audioSection, AudioStreamSection streamSection) { if (audioSection.LoopIndefinitely || audioSection.HasOffset) { AudioStreamHelper.SetPosition(streamSection.AudioStream, audioSection.Start.Position); ApplySyncIfOneExistsForCurrentPosition(streamSection.AudioStream); } else { PlayNextSection(audioSection, streamSection); } }
private static AudioSection GetNextSection(AudioSection audioSection, AudioStreamSection streamSection) { lock (streamSection) { var index = streamSection.AudioSections.IndexOf(audioSection); index++; if (index >= streamSection.AudioSections.Count) { return(null); } DebugHelper.WriteLine(index); return(streamSection.AudioSections[index]); } }
private void PlayNextSection(AudioSection audioSection, AudioStreamSection streamSection) { if (!audioSection.AutoPlayNextSection) { // DebugHelper.WriteLine("Pause " + streamSection.AudioStream.Description); AudioStreamHelper.Pause(streamSection.AudioStream); } else { var nextSection = GetNextSection(audioSection, streamSection); if (nextSection != null) { QueueSection(streamSection.Key, nextSection.Key); } else { // DebugHelper.WriteLine("Pause " + streamSection.AudioStream.Description); AudioStreamHelper.Pause(streamSection.AudioStream); } } }
private static AudioSection GetNextSection(AudioSection audioSection, AudioStreamSection streamSection) { lock (streamSection) { var index = streamSection.AudioSections.IndexOf(audioSection); index++; if (index >= streamSection.AudioSections.Count) return null; Console.WriteLine(index); return streamSection.AudioSections[index]; } }
private void PlayNextSection(AudioSection audioSection, AudioStreamSection streamSection) { if (!audioSection.AutoPlayNextSection) { DebugHelper.WriteLine("Pause " + streamSection.AudioStream.Description); AudioStreamHelper.Pause(streamSection.AudioStream); } else { var nextSection = GetNextSection(audioSection, streamSection); if (nextSection != null) { QueueSection(streamSection.Key, nextSection.Key); } else { DebugHelper.WriteLine("Pause " + streamSection.AudioStream.Description); AudioStreamHelper.Pause(streamSection.AudioStream); } } }
private void OnSectionEnd(AudioSection audioSection, AudioStreamSection streamSection) { if (audioSection.LoopIndefinitely || audioSection.HasOffset) { AudioStreamHelper.SetPosition(streamSection.AudioStream, audioSection.Start.Position); ApplySyncIfOneExistsForCurrentPosition(streamSection.AudioStream); } else PlayNextSection(audioSection, streamSection); }
private void OnSectionOffset(AudioSection audioSection, AudioStreamSection streamSection) { if (!audioSection.LoopIndefinitely) PlayNextSection(audioSection, streamSection); }