// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using osu.Framework.Bindables; namespace osu.Framework.Audio.Sample { /// /// An interface for an audio sample. /// public interface ISample : IAdjustableAudioComponent { /// /// The length in milliseconds of this . /// double Length { get; } /// /// The number of times this sample (as identified by name) can be played back concurrently. /// /// /// This affects all instances identified by the same sample name. /// Bindable PlaybackConcurrency { get; } /// /// Creates a new unique playback channel for this and immediately plays it. /// /// /// Multiple channels can be played simultaneously, but can only be heard up to times. /// /// The unique for the playback. SampleChannel Play(); /// /// Retrieves a unique playback channel for this . /// /// /// Multiple channels can be retrieved and played simultaneously, but can only be heard up to times. /// /// The unique for the playback. SampleChannel GetChannel(); } }