Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public static bool IsBitstreaming(WaveFormatExtensible format)
 {
     return GetSampleFormat(format) == AudioSampleFormat.Unknown;
 }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
 public override void OnGetMediaType(WaveFormatExtensible format)
 {
 }
Ejemplo n.º 5
0
 public static bool IsBitstreaming(WaveFormatExtensible format)
 {
     return(GetSampleFormat(format) == AudioSampleFormat.Unknown);
 }
Ejemplo n.º 6
0
 public static bool IsBitStreaming(this WaveFormatExtensible format)
 {
     return(IsBitstreaming(format));
 }
Ejemplo n.º 7
0
 public static AudioSampleFormat SampleFormat(this WaveFormatExtensible format)
 {
     return(GetSampleFormat(format));
 }