Ejemplo n.º 1
0
 /// <summary>
 /// Creates Sample provider for cached AudioData.
 /// </summary>
 /// <param name="audioData">Audio data.</param>
 /// <param name="playbackToken">Playback token.</param>
 /// <param name="masterVolumeProvider">Master volume provider.</param>
 /// <param name="volume">Volume for audio playback.</param>
 /// <param name="useParallel">true if use parallel.</param>
 public AudioDataSampleProvider(AudioData audioData, PlaybackToken playbackToken, IMasterVolumeProvider masterVolumeProvider, float volume = 1.0f, bool useParallel = false)
 {
     this.audioData            = audioData;
     this.playbackToken        = playbackToken;
     this.masterVolumeProvider = masterVolumeProvider;
     this.volume      = volume;
     this.useParallel = useParallel;
 }
        /// <summary>
        /// Creates Sample provider for cached AudioData.
        /// </summary>
        /// <param name="audioData">Audio data.</param>
        /// <param name="playbackToken">Playback token.</param>
        /// <param name="masterVolumeProvider">Master volume provider.</param>
        /// <param name="volume">Volume for audio playback.</param>
        /// <param name="useParallel">true if use parallel.</param>
        public AudioDataFileSampleProvider(AudioData audioData, PlaybackToken playbackToken, IMasterVolumeProvider masterVolumeProvider, float volume = 1.0f, bool useParallel = false)
            : base(audioData, playbackToken, masterVolumeProvider, volume, useParallel)
        {
            string filePath = audioData.FilePath;

            if (filePath != null)
            {
                this.reader = new AudioFileReader(filePath);
                this.isAudioFileReaderDisposed = false;

                this.resampler = AudioData.CreateResampler(this.reader, audioData.WaveFormat, audioData.ResamplingQuality);

                if (this.resampler != null)
                {
                    this.stream = resampler.ToSampleProvider();
                }
                else
                {
                    this.stream = reader;
                }
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Creates Sample provider for cached AudioData.
 /// </summary>
 /// <param name="audioData">Audio data.</param>
 /// <param name="playbackToken">Playback token.</param>
 /// <param name="masterVolumeProvider">Master volume provider.</param>
 /// <param name="volume">Volume for audio playback.</param>
 /// <param name="useParallel">true if use parallel.</param>
 public CachedAudioDataSampleProvider(AudioData audioData, PlaybackToken playbackToken, IMasterVolumeProvider masterVolumeProvider, float volume = 1.0f, bool useParallel = false)
     : base(audioData, playbackToken, masterVolumeProvider, volume, useParallel)
 {
     this.position = 0L;
 }