public static AudioSampleFormat GetSampleFormat(WaveFormatExtensible format) { if (format.nSamplesPerSec == 0) { return(AudioSampleFormat.Unknown); } switch (format.wFormatTag) { case WAVE_FORMAT_IEEE_FLOAT: switch (format.wBitsPerSample) { case 32: return(AudioSampleFormat.Float); case 64: return(AudioSampleFormat.Double); } break; case WAVE_FORMAT_PCM: switch (format.wBitsPerSample) { case 8: return(AudioSampleFormat.Pcm8); case 16: return(AudioSampleFormat.Pcm16); case 24: return(AudioSampleFormat.Pcm24); case 32: return(AudioSampleFormat.Pcm32); } break; case WAVE_FORMAT_EXTENSIBLE: if (format.SubFormat == MediaSubType.IEEE_FLOAT) { switch (format.wBitsPerSample) { case 32: return(AudioSampleFormat.Float); case 64: return(AudioSampleFormat.Double); } } else if (format.SubFormat == MediaSubType.PCM) { switch (format.wBitsPerSample) { case 8: return(AudioSampleFormat.Pcm8); case 16: return(AudioSampleFormat.Pcm16); case 24: return(AudioSampleFormat.Pcm24); case 32: return(AudioSampleFormat.Pcm32); } } break; } return(AudioSampleFormat.Unknown); }
public static bool IsBitstreaming(WaveFormatExtensible format) { return GetSampleFormat(format) == AudioSampleFormat.Unknown; }
public static AudioSampleFormat GetSampleFormat(WaveFormatExtensible format) { if (format.nSamplesPerSec == 0) return AudioSampleFormat.Unknown; switch (format.wFormatTag) { case WAVE_FORMAT_IEEE_FLOAT: switch (format.wBitsPerSample) { case 32: return AudioSampleFormat.Float; case 64: return AudioSampleFormat.Double; } break; case WAVE_FORMAT_PCM: switch (format.wBitsPerSample) { case 8: return AudioSampleFormat.Pcm8; case 16: return AudioSampleFormat.Pcm16; case 24: return AudioSampleFormat.Pcm24; case 32: return AudioSampleFormat.Pcm32; } break; case WAVE_FORMAT_EXTENSIBLE: if (format.SubFormat == MediaSubType.IEEE_FLOAT) { switch (format.wBitsPerSample) { case 32: return AudioSampleFormat.Float; case 64: return AudioSampleFormat.Double; } } else if (format.SubFormat == MediaSubType.PCM) { switch (format.wBitsPerSample) { case 8: return AudioSampleFormat.Pcm8; case 16: return AudioSampleFormat.Pcm16; case 24: return AudioSampleFormat.Pcm24; case 32: return AudioSampleFormat.Pcm32; } } break; } return AudioSampleFormat.Unknown; }
public override void OnGetMediaType(WaveFormatExtensible format) { }
public static bool IsBitstreaming(WaveFormatExtensible format) { return(GetSampleFormat(format) == AudioSampleFormat.Unknown); }
public static bool IsBitStreaming(this WaveFormatExtensible format) { return(IsBitstreaming(format)); }
public static AudioSampleFormat SampleFormat(this WaveFormatExtensible format) { return(GetSampleFormat(format)); }