using System;
using System.Runtime.InteropServices;
namespace Vanara.PInvoke
{
/// Items from the WinMm.dll
public static partial class WinMm
{
/// Format type.
[PInvokeData("mmreg.h", MSDNShortId = "NS:mmreg.waveformat_tag")]
[Flags]
public enum WAVE_FORMAT : ushort
{
/// Microsoft Corporation
WAVE_FORMAT_UNKNOWN = 0x0000,
/// Waveform-audio data is PCM.
WAVE_FORMAT_PCM,
/// Microsoft Corporation
WAVE_FORMAT_ADPCM = 0x0002,
/// Microsoft Corporation
WAVE_FORMAT_IEEE_FLOAT = 0x0003,
/// Compaq Computer Corp.
WAVE_FORMAT_VSELP = 0x0004,
/// IBM Corporation
WAVE_FORMAT_IBM_CVSD = 0x0005,
/// Microsoft Corporation
WAVE_FORMAT_ALAW = 0x0006,
/// Microsoft Corporation
WAVE_FORMAT_MULAW = 0x0007,
/// Microsoft Corporation
WAVE_FORMAT_DTS = 0x0008,
/// Microsoft Corporation
WAVE_FORMAT_DRM = 0x0009,
/// Microsoft Corporation
WAVE_FORMAT_WMAVOICE9 = 0x000A,
/// Microsoft Corporation
WAVE_FORMAT_WMAVOICE10 = 0x000B,
/// OKI
WAVE_FORMAT_OKI_ADPCM = 0x0010,
/// Intel Corporation
WAVE_FORMAT_DVI_ADPCM = 0x0011,
/// Intel Corporation
WAVE_FORMAT_IMA_ADPCM = WAVE_FORMAT_DVI_ADPCM,
/// Videologic
WAVE_FORMAT_MEDIASPACE_ADPCM = 0x0012,
/// Sierra Semiconductor Corp
WAVE_FORMAT_SIERRA_ADPCM = 0x0013,
/// Antex Electronics Corporation
WAVE_FORMAT_G723_ADPCM = 0x0014,
/// DSP Solutions, Inc.
WAVE_FORMAT_DIGISTD = 0x0015,
/// DSP Solutions, Inc.
WAVE_FORMAT_DIGIFIX = 0x0016,
/// Dialogic Corporation
WAVE_FORMAT_DIALOGIC_OKI_ADPCM = 0x0017,
/// Media Vision, Inc.
WAVE_FORMAT_MEDIAVISION_ADPCM = 0x0018,
/// Hewlett-Packard Company
WAVE_FORMAT_CU_CODEC = 0x0019,
/// Hewlett-Packard Company
WAVE_FORMAT_HP_DYN_VOICE = 0x001A,
/// Yamaha Corporation of America
WAVE_FORMAT_YAMAHA_ADPCM = 0x0020,
/// Speech Compression
WAVE_FORMAT_SONARC = 0x0021,
/// DSP Group, Inc
WAVE_FORMAT_DSPGROUP_TRUESPEECH = 0x0022,
/// Echo Speech Corporation
WAVE_FORMAT_ECHOSC1 = 0x0023,
/// Virtual Music, Inc.
WAVE_FORMAT_AUDIOFILE_AF36 = 0x0024,
/// Audio Processing Technology
WAVE_FORMAT_APTX = 0x0025,
/// Virtual Music, Inc.
WAVE_FORMAT_AUDIOFILE_AF10 = 0x0026,
/// Aculab plc
WAVE_FORMAT_PROSODY_1612 = 0x0027,
/// Merging Technologies S.A.
WAVE_FORMAT_LRC = 0x0028,
/// Dolby Laboratories
WAVE_FORMAT_DOLBY_AC2 = 0x0030,
/// Microsoft Corporation
WAVE_FORMAT_GSM610 = 0x0031,
/// Microsoft Corporation
WAVE_FORMAT_MSNAUDIO = 0x0032,
/// Antex Electronics Corporation
WAVE_FORMAT_ANTEX_ADPCME = 0x0033,
/// Control Resources Limited
WAVE_FORMAT_CONTROL_RES_VQLPC = 0x0034,
/// DSP Solutions, Inc.
WAVE_FORMAT_DIGIREAL = 0x0035,
/// DSP Solutions, Inc.
WAVE_FORMAT_DIGIADPCM = 0x0036,
/// Control Resources Limited
WAVE_FORMAT_CONTROL_RES_CR10 = 0x0037,
/// Natural MicroSystems
WAVE_FORMAT_NMS_VBXADPCM = 0x0038,
/// Crystal Semiconductor IMA ADPCM
WAVE_FORMAT_CS_IMAADPCM = 0x0039,
/// Echo Speech Corporation
WAVE_FORMAT_ECHOSC3 = 0x003A,
/// Rockwell International
WAVE_FORMAT_ROCKWELL_ADPCM = 0x003B,
/// Rockwell International
WAVE_FORMAT_ROCKWELL_DIGITALK = 0x003C,
/// Xebec Multimedia Solutions Limited
WAVE_FORMAT_XEBEC = 0x003D,
/// Antex Electronics Corporation
WAVE_FORMAT_G721_ADPCM = 0x0040,
/// Antex Electronics Corporation
WAVE_FORMAT_G728_CELP = 0x0041,
/// Microsoft Corporation
WAVE_FORMAT_MSG723 = 0x0042,
/// Intel Corp.
WAVE_FORMAT_INTEL_G723_1 = 0x0043,
/// Intel Corp.
WAVE_FORMAT_INTEL_G729 = 0x0044,
/// Sharp
WAVE_FORMAT_SHARP_G726 = 0x0045,
/// Microsoft Corporation
WAVE_FORMAT_MPEG = 0x0050,
/// InSoft, Inc.
WAVE_FORMAT_RT24 = 0x0052,
/// InSoft, Inc.
WAVE_FORMAT_PAC = 0x0053,
/// ISO/MPEG Layer3 Format Tag
WAVE_FORMAT_MPEGLAYER3 = 0x0055,
/// Lucent Technologies
WAVE_FORMAT_LUCENT_G723 = 0x0059,
/// Cirrus Logic
WAVE_FORMAT_CIRRUS = 0x0060,
/// ESS Technology
WAVE_FORMAT_ESPCM = 0x0061,
/// Voxware Inc
WAVE_FORMAT_VOXWARE = 0x0062,
/// Canopus, co., Ltd.
WAVE_FORMAT_CANOPUS_ATRAC = 0x0063,
/// APICOM
WAVE_FORMAT_G726_ADPCM = 0x0064,
/// APICOM
WAVE_FORMAT_G722_ADPCM = 0x0065,
/// Microsoft Corporation
WAVE_FORMAT_DSAT = 0x0066,
/// Microsoft Corporation
WAVE_FORMAT_DSAT_DISPLAY = 0x0067,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_BYTE_ALIGNED = 0x0069,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_AC8 = 0x0070,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_AC10 = 0x0071,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_AC16 = 0x0072,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_AC20 = 0x0073,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_RT24 = 0x0074,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_RT29 = 0x0075,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_RT29HW = 0x0076,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_VR12 = 0x0077,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_VR18 = 0x0078,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_TQ40 = 0x0079,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_SC3 = 0x007A,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_SC3_1 = 0x007B,
/// Softsound, Ltd.
WAVE_FORMAT_SOFTSOUND = 0x0080,
/// Voxware Inc
WAVE_FORMAT_VOXWARE_TQ60 = 0x0081,
/// Microsoft Corporation
WAVE_FORMAT_MSRT24 = 0x0082,
/// AT&T Labs, Inc.
WAVE_FORMAT_G729A = 0x0083,
/// Motion Pixels
WAVE_FORMAT_MVI_MVI2 = 0x0084,
/// DataFusion Systems (Pty) (Ltd)
WAVE_FORMAT_DF_G726 = 0x0085,
/// DataFusion Systems (Pty) (Ltd)
WAVE_FORMAT_DF_GSM610 = 0x0086,
/// Iterated Systems, Inc.
WAVE_FORMAT_ISIAUDIO = 0x0088,
/// OnLive! Technologies, Inc.
WAVE_FORMAT_ONLIVE = 0x0089,
/// Multitude Inc.
WAVE_FORMAT_MULTITUDE_FT_SX20 = 0x008A,
/// Infocom
WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM = 0x008B,
/// Convedia Corp.
WAVE_FORMAT_CONVEDIA_G729 = 0x008C,
/// Congruency Inc.
WAVE_FORMAT_CONGRUENCY = 0x008D,
/// Siemens Business Communications Sys
WAVE_FORMAT_SBC24 = 0x0091,
/// Sonic Foundry
WAVE_FORMAT_DOLBY_AC3_SPDIF = 0x0092,
/// MediaSonic
WAVE_FORMAT_MEDIASONIC_G723 = 0x0093,
/// Aculab plc
WAVE_FORMAT_PROSODY_8KBPS = 0x0094,
/// ZyXEL Communications, Inc.
WAVE_FORMAT_ZYXEL_ADPCM = 0x0097,
/// Philips Speech Processing
WAVE_FORMAT_PHILIPS_LPCBB = 0x0098,
/// Studer Professional Audio AG
WAVE_FORMAT_PACKED = 0x0099,
/// Malden Electronics Ltd.
WAVE_FORMAT_MALDEN_PHONYTALK = 0x00A0,
/// Racal recorders
WAVE_FORMAT_RACAL_RECORDER_GSM = 0x00A1,
/// Racal recorders
WAVE_FORMAT_RACAL_RECORDER_G720_A = 0x00A2,
/// Racal recorders
WAVE_FORMAT_RACAL_RECORDER_G723_1 = 0x00A3,
/// Racal recorders
WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP = 0x00A4,
/// NEC Corp.
WAVE_FORMAT_NEC_AAC = 0x00B0,
/// For Raw AAC, with format block AudioSpecificConfig() (as defined by MPEG-4), that follows WAVEFORMATEX
WAVE_FORMAT_RAW_AAC1 = 0x00FF,
/// Rhetorex Inc.
WAVE_FORMAT_RHETOREX_ADPCM = 0x0100,
/// BeCubed Software Inc.
WAVE_FORMAT_IRAT = 0x0101,
/// Vivo Software
WAVE_FORMAT_VIVO_G723 = 0x0111,
/// Vivo Software
WAVE_FORMAT_VIVO_SIREN = 0x0112,
/// Philips Speech Processing
WAVE_FORMAT_PHILIPS_CELP = 0x0120,
/// Philips Speech Processing
WAVE_FORMAT_PHILIPS_GRUNDIG = 0x0121,
/// Digital Equipment Corporation
WAVE_FORMAT_DIGITAL_G723 = 0x0123,
/// Sanyo Electric Co., Ltd.
WAVE_FORMAT_SANYO_LD_ADPCM = 0x0125,
/// Sipro Lab Telecom Inc.
WAVE_FORMAT_SIPROLAB_ACEPLNET = 0x0130,
/// Sipro Lab Telecom Inc.
WAVE_FORMAT_SIPROLAB_ACELP4800 = 0x0131,
/// Sipro Lab Telecom Inc.
WAVE_FORMAT_SIPROLAB_ACELP8V3 = 0x0132,
/// Sipro Lab Telecom Inc.
WAVE_FORMAT_SIPROLAB_G729 = 0x0133,
/// Sipro Lab Telecom Inc.
WAVE_FORMAT_SIPROLAB_G729A = 0x0134,
/// Sipro Lab Telecom Inc.
WAVE_FORMAT_SIPROLAB_KELVIN = 0x0135,
/// VoiceAge Corp.
WAVE_FORMAT_VOICEAGE_AMR = 0x0136,
/// Dictaphone Corporation
WAVE_FORMAT_G726ADPCM = 0x0140,
/// Dictaphone Corporation
WAVE_FORMAT_DICTAPHONE_CELP68 = 0x0141,
/// Dictaphone Corporation
WAVE_FORMAT_DICTAPHONE_CELP54 = 0x0142,
/// Qualcomm, Inc.
WAVE_FORMAT_QUALCOMM_PUREVOICE = 0x0150,
/// Qualcomm, Inc.
WAVE_FORMAT_QUALCOMM_HALFRATE = 0x0151,
/// Ring Zero Systems, Inc.
WAVE_FORMAT_TUBGSM = 0x0155,
/// Microsoft Corporation
WAVE_FORMAT_MSAUDIO1 = 0x0160,
/// Microsoft Corporation
WAVE_FORMAT_WMAUDIO2 = 0x0161,
/// Microsoft Corporation
WAVE_FORMAT_WMAUDIO3 = 0x0162,
/// Microsoft Corporation
WAVE_FORMAT_WMAUDIO_LOSSLESS = 0x0163,
/// Microsoft Corporation
WAVE_FORMAT_WMASPDIF = 0x0164,
/// Unisys Corp.
WAVE_FORMAT_UNISYS_NAP_ADPCM = 0x0170,
/// Unisys Corp.
WAVE_FORMAT_UNISYS_NAP_ULAW = 0x0171,
/// Unisys Corp.
WAVE_FORMAT_UNISYS_NAP_ALAW = 0x0172,
/// Unisys Corp.
WAVE_FORMAT_UNISYS_NAP_16K = 0x0173,
/// SyCom Technologies
WAVE_FORMAT_SYCOM_ACM_SYC008 = 0x0174,
/// SyCom Technologies
WAVE_FORMAT_SYCOM_ACM_SYC701_G726L = 0x0175,
/// SyCom Technologies
WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54 = 0x0176,
/// SyCom Technologies
WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68 = 0x0177,
/// Knowledge Adventure, Inc.
WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM = 0x0178,
/// Fraunhofer IIS
WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC = 0x0180,
/// Digital Theatre Systems, Inc.
WAVE_FORMAT_DTS_DS = 0x0190,
/// Creative Labs, Inc
WAVE_FORMAT_CREATIVE_ADPCM = 0x0200,
/// Creative Labs, Inc
WAVE_FORMAT_CREATIVE_FASTSPEECH8 = 0x0202,
/// Creative Labs, Inc
WAVE_FORMAT_CREATIVE_FASTSPEECH10 = 0x0203,
/// UHER informatic GmbH
WAVE_FORMAT_UHER_ADPCM = 0x0210,
/// Ulead Systems, Inc.
WAVE_FORMAT_ULEAD_DV_AUDIO = 0x0215,
/// Ulead Systems, Inc.
WAVE_FORMAT_ULEAD_DV_AUDIO_1 = 0x0216,
/// Quarterdeck Corporation
WAVE_FORMAT_QUARTERDECK = 0x0220,
/// I-link Worldwide
WAVE_FORMAT_ILINK_VC = 0x0230,
/// Aureal Semiconductor
WAVE_FORMAT_RAW_SPORT = 0x0240,
/// ESS Technology, Inc.
WAVE_FORMAT_ESST_AC3 = 0x0241,
///
WAVE_FORMAT_GENERIC_PASSTHRU = 0x0249,
/// Interactive Products, Inc.
WAVE_FORMAT_IPI_HSX = 0x0250,
/// Interactive Products, Inc.
WAVE_FORMAT_IPI_RPELP = 0x0251,
/// Consistent Software
WAVE_FORMAT_CS2 = 0x0260,
/// Sony Corp.
WAVE_FORMAT_SONY_SCX = 0x0270,
/// Sony Corp.
WAVE_FORMAT_SONY_SCY = 0x0271,
/// Sony Corp.
WAVE_FORMAT_SONY_ATRAC3 = 0x0272,
/// Sony Corp.
WAVE_FORMAT_SONY_SPC = 0x0273,
/// Telum Inc.
WAVE_FORMAT_TELUM_AUDIO = 0x0280,
/// Telum Inc.
WAVE_FORMAT_TELUM_IA_AUDIO = 0x0281,
/// Norcom Electronics Corp.
WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM = 0x0285,
/// Fujitsu Corp.
WAVE_FORMAT_FM_TOWNS_SND = 0x0300,
/// Micronas Semiconductors, Inc.
WAVE_FORMAT_MICRONAS = 0x0350,
/// Micronas Semiconductors, Inc.
WAVE_FORMAT_MICRONAS_CELP833 = 0x0351,
/// Brooktree Corporation
WAVE_FORMAT_BTV_DIGITAL = 0x0400,
/// Intel Corp.
WAVE_FORMAT_INTEL_MUSIC_CODER = 0x0401,
/// Ligos
WAVE_FORMAT_INDEO_AUDIO = 0x0402,
/// QDesign Corporation
WAVE_FORMAT_QDESIGN_MUSIC = 0x0450,
/// On2 Technologies
WAVE_FORMAT_ON2_VP7_AUDIO = 0x0500,
/// On2 Technologies
WAVE_FORMAT_ON2_VP6_AUDIO = 0x0501,
/// AT&T Labs, Inc.
WAVE_FORMAT_VME_VMPCM = 0x0680,
/// AT&T Labs, Inc.
WAVE_FORMAT_TPC = 0x0681,
/// Clearjump
WAVE_FORMAT_LIGHTWAVE_LOSSLESS = 0x08AE,
/// Ing C. Olivetti & C., S.p.A.
WAVE_FORMAT_OLIGSM = 0x1000,
/// Ing C. Olivetti & C., S.p.A.
WAVE_FORMAT_OLIADPCM = 0x1001,
/// Ing C. Olivetti & C., S.p.A.
WAVE_FORMAT_OLICELP = 0x1002,
/// Ing C. Olivetti & C., S.p.A.
WAVE_FORMAT_OLISBC = 0x1003,
/// Ing C. Olivetti & C., S.p.A.
WAVE_FORMAT_OLIOPR = 0x1004,
/// Lernout & Hauspie
WAVE_FORMAT_LH_CODEC = 0x1100,
/// Lernout & Hauspie
WAVE_FORMAT_LH_CODEC_CELP = 0x1101,
/// Lernout & Hauspie
WAVE_FORMAT_LH_CODEC_SBC8 = 0x1102,
/// Lernout & Hauspie
WAVE_FORMAT_LH_CODEC_SBC12 = 0x1103,
/// Lernout & Hauspie
WAVE_FORMAT_LH_CODEC_SBC16 = 0x1104,
/// Norris Communications, Inc.
WAVE_FORMAT_NORRIS = 0x1400,
/// ISIAudio
WAVE_FORMAT_ISIAUDIO_2 = 0x1401,
/// AT&T Labs, Inc.
WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS = 0x1500,
/// Microsoft Corporation
WAVE_FORMAT_MPEG_ADTS_AAC = 0x1600,
/// Microsoft Corporation
WAVE_FORMAT_MPEG_RAW_AAC = 0x1601,
/// Microsoft Corporation (MPEG-4 Audio Transport Streams (LOAS/LATM)
WAVE_FORMAT_MPEG_LOAS = 0x1602,
/// Microsoft Corporation
WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC = 0x1608,
/// Microsoft Corporation
WAVE_FORMAT_NOKIA_MPEG_RAW_AAC = 0x1609,
/// Microsoft Corporation
WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC = 0x160A,
/// Microsoft Corporation
WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC = 0x160B,
///
/// Microsoft Corporation (MPEG-2 AAC or MPEG-4 HE-AAC v1/v2 streams with any payload (ADTS, ADIF, LOAS/LATM, RAW). Format block
/// includes MP4 AudioSpecificConfig() -- see HEAACWAVEFORMAT below
///
WAVE_FORMAT_MPEG_HEAAC = 0x1610,
/// Voxware Inc.
WAVE_FORMAT_VOXWARE_RT24_SPEECH = 0x181C,
/// Sonic Foundry
WAVE_FORMAT_SONICFOUNDRY_LOSSLESS = 0x1971,
/// Innings Telecom Inc.
WAVE_FORMAT_INNINGS_TELECOM_ADPCM = 0x1979,
/// Lucent Technologies
WAVE_FORMAT_LUCENT_SX8300P = 0x1C07,
/// Lucent Technologies
WAVE_FORMAT_LUCENT_SX5363S = 0x1C0C,
/// CUSeeMe
WAVE_FORMAT_CUSEEME = 0x1F03,
/// NTCSoft
WAVE_FORMAT_NTCSOFT_ALF2CM_ACM = 0x1FC4,
/// FAST Multimedia AG
WAVE_FORMAT_DVM = 0x2000,
///
WAVE_FORMAT_DTS2 = 0x2001,
///
WAVE_FORMAT_MAKEAVIS = 0x3313,
/// Divio, Inc.
WAVE_FORMAT_DIVIO_MPEG4_AAC = 0x4143,
/// Nokia
WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE = 0x4201,
/// Divio, Inc.
WAVE_FORMAT_DIVIO_G726 = 0x4243,
/// LEAD Technologies
WAVE_FORMAT_LEAD_SPEECH = 0x434C,
/// LEAD Technologies
WAVE_FORMAT_LEAD_VORBIS = 0x564C,
/// xiph.org
WAVE_FORMAT_WAVPACK_AUDIO = 0x5756,
/// Apple Lossless
WAVE_FORMAT_ALAC = 0x6C61,
/// Ogg Vorbis
WAVE_FORMAT_OGG_VORBIS_MODE_1 = 0x674F,
/// Ogg Vorbis
WAVE_FORMAT_OGG_VORBIS_MODE_2 = 0x6750,
/// Ogg Vorbis
WAVE_FORMAT_OGG_VORBIS_MODE_3 = 0x6751,
/// Ogg Vorbis
WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS = 0x676F,
/// Ogg Vorbis
WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS = 0x6770,
/// Ogg Vorbis
WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS = 0x6771,
/// 3COM Corp.
WAVE_FORMAT_3COM_NBX = 0x7000,
/// Opus
WAVE_FORMAT_OPUS = 0x704F,
///
WAVE_FORMAT_FAAD_AAC = 0x706D,
/// AMR Narrowband
WAVE_FORMAT_AMR_NB = 0x7361,
/// AMR Wideband
WAVE_FORMAT_AMR_WB = 0x7362,
/// AMR Wideband Plus
WAVE_FORMAT_AMR_WP = 0x7363,
/// GSMA/3GPP
WAVE_FORMAT_GSM_AMR_CBR = 0x7A21,
/// GSMA/3GPP
WAVE_FORMAT_GSM_AMR_VBR_SID = 0x7A22,
/// Comverse Infosys
WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 = 0xA100,
/// Comverse Infosys
WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC = 0xA101,
/// Comverse Infosys
WAVE_FORMAT_COMVERSE_INFOSYS_SBC = 0xA102,
/// Symbol Technologies
WAVE_FORMAT_SYMBOL_G729_A = 0xA103,
/// VoiceAge Corp.
WAVE_FORMAT_VOICEAGE_AMR_WB = 0xA104,
/// Ingenient Technologies, Inc.
WAVE_FORMAT_INGENIENT_G726 = 0xA105,
/// ISO/MPEG-4
WAVE_FORMAT_MPEG4_AAC = 0xA106,
/// Encore Software
WAVE_FORMAT_ENCORE_G726 = 0xA107,
/// ZOLL Medical Corp.
WAVE_FORMAT_ZOLL_ASAO = 0xA108,
/// xiph.org
WAVE_FORMAT_SPEEX_VOICE = 0xA109,
/// Vianix LLC
WAVE_FORMAT_VIANIX_MASC = 0xA10A,
/// Microsoft
WAVE_FORMAT_WM9_SPECTRUM_ANALYZER = 0xA10B,
/// Microsoft
WAVE_FORMAT_WMF_SPECTRUM_ANAYZER = 0xA10C,
///
WAVE_FORMAT_GSM_610 = 0xA10D,
///
WAVE_FORMAT_GSM_620 = 0xA10E,
///
WAVE_FORMAT_GSM_660 = 0xA10F,
///
WAVE_FORMAT_GSM_690 = 0xA110,
///
WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB = 0xA111,
/// Polycom
WAVE_FORMAT_POLYCOM_G722 = 0xA112,
/// Polycom
WAVE_FORMAT_POLYCOM_G728 = 0xA113,
/// Polycom
WAVE_FORMAT_POLYCOM_G729_A = 0xA114,
/// Polycom
WAVE_FORMAT_POLYCOM_SIREN = 0xA115,
/// Global IP
WAVE_FORMAT_GLOBAL_IP_ILBC = 0xA116,
/// RadioTime
WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO = 0xA117,
/// Nice Systems
WAVE_FORMAT_NICE_ACA = 0xA118,
/// Nice Systems
WAVE_FORMAT_NICE_ADPCM = 0xA119,
/// Vocord Telecom
WAVE_FORMAT_VOCORD_G721 = 0xA11A,
/// Vocord Telecom
WAVE_FORMAT_VOCORD_G726 = 0xA11B,
/// Vocord Telecom
WAVE_FORMAT_VOCORD_G722_1 = 0xA11C,
/// Vocord Telecom
WAVE_FORMAT_VOCORD_G728 = 0xA11D,
/// Vocord Telecom
WAVE_FORMAT_VOCORD_G729 = 0xA11E,
/// Vocord Telecom
WAVE_FORMAT_VOCORD_G729_A = 0xA11F,
/// Vocord Telecom
WAVE_FORMAT_VOCORD_G723_1 = 0xA120,
/// Vocord Telecom
WAVE_FORMAT_VOCORD_LBC = 0xA121,
/// Nice Systems
WAVE_FORMAT_NICE_G728 = 0xA122,
/// France Telecom
WAVE_FORMAT_FRACE_TELECOM_G729 = 0xA123,
/// CODIAN
WAVE_FORMAT_CODIAN = 0xA124,
/// flac.sourceforge.net
WAVE_FORMAT_FLAC = 0xF1AC,
/// Microsoft
WAVE_FORMAT_EXTENSIBLE = 0xFFFE,
///
/// New wave format development should be based on the WAVEFORMATEXTENSIBLE structure. WAVEFORMATEXTENSIBLE allows you to avoid
/// having to register a new format tag with Microsoft. However, if you must still define a new format tag, the
/// WAVE_FORMAT_DEVELOPMENT format tag can be used during the development phase of a new wave format. Before shipping, you MUST
/// acquire an official format tag from Microsoft.
///
WAVE_FORMAT_DEVELOPMENT = 0xFFFF,
}
///
/// The PCMWAVEFORMAT structure describes the data format for PCM waveform-audio data. This structure has been superseded by
/// the WAVEFORMATEX structure.
///
// https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-pcmwaveformat typedef struct pcmwaveformat_tag { WAVEFORMAT wf;
// WORD wBitsPerSample; } PCMWAVEFORMAT;
[PInvokeData("mmreg.h", MSDNShortId = "NS:mmreg.pcmwaveformat_tag")]
[StructLayout(LayoutKind.Sequential)]
public struct PCMWAVEFORMAT
{
/// A WAVEFORMAT structure containing general information about the format of the data.
public WAVEFORMAT wf;
/// Number of bits per sample.
public ushort wBitsPerSample;
}
///
/// The WAVEFILTER structure defines a filter for waveform-audio data. Only filter information common to all waveform-audio
/// data filters is included in this structure. For filters that require additional information, this structure is included as the
/// first member in another structure along with the additional information.
///
// https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-wavefilter typedef struct wavefilter_tag { DWORD cbStruct;
// DWORD dwFilterTag; DWORD fdwFilter; DWORD dwReserved[5]; } WAVEFILTER;
[PInvokeData("mmreg.h", MSDNShortId = "NS:mmreg.wavefilter_tag")]
[StructLayout(LayoutKind.Sequential)]
public struct WAVEFILTER
{
///
/// Size, in bytes, of the WAVEFILTER structure. The size specified in this member must be large enough to contain the
/// base WAVEFILTER structure.
///
public uint cbStruct;
/// Waveform-audio filter type. Filter tags are registered with Microsoft Corporation for various filter algorithms.
public uint dwFilterTag;
///
/// Flags for the dwFilterTag member. The flags defined for this member are universal to all filters. Currently, no flags
/// are defined.
///
public uint fdwFilter;
/// Reserved for system use; should not be examined or modified by an application.
private readonly uint dwReserved1;
private readonly uint dwReserved2;
private readonly uint dwReserved3;
private readonly uint dwReserved4;
private readonly uint dwReserved5;
}
///
/// The WAVEFORMAT structure describes the format of waveform-audio data. Only format information common to all
/// waveform-audio data formats is included in this structure. This structure has been superseded by the WAVEFORMATEX structure.
///
///
/// For formats that require additional information, this structure is included as a member in another structure along with the
/// additional information.
///
// https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformat typedef struct waveformat_tag { WORD wFormatTag;
// WORD nChannels; DWORD nSamplesPerSec; DWORD nAvgBytesPerSec; WORD nBlockAlign; } WAVEFORMAT;
[PInvokeData("mmreg.h", MSDNShortId = "NS:mmreg.waveformat_tag")]
[StructLayout(LayoutKind.Sequential)]
public struct WAVEFORMAT
{
///
/// Format type. The following type is defined:
///
///
/// Name
/// Description
///
/// -
/// WAVE_FORMAT_PCM
/// Waveform-audio data is PCM.
///
///
///
public WAVE_FORMAT wFormatTag;
/// Number of channels in the waveform-audio data. Mono data uses one channel and stereo data uses two channels.
public ushort nChannels;
/// Sample rate, in samples per second.
public uint nSamplesPerSec;
///
/// Required average data transfer rate, in bytes per second. For example, 16-bit stereo at 44.1 kHz has an average data rate of
/// 176,400 bytes per second (2 channels — 2 bytes per sample per channel — 44,100 samples per second).
///
public uint nAvgBytesPerSec;
///
/// Block alignment, in bytes. The block alignment is the minimum atomic unit of data. For PCM data, the block alignment is the
/// number of bytes used by a single sample, including data for both channels if the data is stereo. For example, the block
/// alignment for 16-bit stereo PCM is 4 bytes (2 channels — 2 bytes per sample).
///
public ushort nBlockAlign;
}
}
}