public static IAudioStream Create(IAudioSource source)
        {
            switch (source.Type)
            {
            case AudioSourceEnum.Raw:
                return(new RawAudioStream(source));

            case AudioSourceEnum.RealTime:
                return(new RealTimeAudioStream(source));

            default:
                return(null);
            }
        }
 public IAudioStream(IAudioSource source)
 {
     this.Source = source;
 }
 public RealTimeAudioStream(IAudioSource source) :
     base(source)
 {
     this.source = source as RealTimeAudioSource;
 }
 public RawAudioStream(IAudioSource source) :
     base(source)
 {
     this.source = source as RawAudioSource;
 }