/// <summary> /// Sets the audio stream position /// </summary> /// <param name="audioStream">The audio stream.</param> /// <param name="samplePosition">The audio stream position.</param> public static void SetPosition(AudioStream audioStream, long samplePosition) { if (audioStream == null || !audioStream.IsAudioLoaded()) return; if (samplePosition < 0 || samplePosition > audioStream.Length) return; var secondPosition = TimeFormatHelper.GetFormattedSeconds(audioStream.SamplesToSeconds(samplePosition)); DebugHelper.WriteLine($"SetPosition {audioStream.Description} {secondPosition} {samplePosition}"); Bass.BASS_ChannelSetPosition(audioStream.Channel, samplePosition); DebugHelper.WriteLine($"SetPosition END {audioStream.Description} {secondPosition} {samplePosition}"); }
/// <summary> /// Sets the duration and start/end volumes for an audio stream volume slide. /// </summary> /// <param name="audioStream">The audio stream.</param> /// <param name="startVolume">The start volume.</param> /// <param name="endVolume">The end volume.</param> /// <param name="sampleDuration">Sample length duration.</param> public static void SetVolumeSlide(AudioStream audioStream, float startVolume, float endVolume, long sampleDuration) { if (audioStream == null || !audioStream.IsAudioLoaded()) return; var seconds = audioStream.SamplesToSeconds(sampleDuration); SetVolumeSlide(audioStream, startVolume, endVolume, seconds); }