![Vanara](https://raw.githubusercontent.com/dahall/Vanara/master/docs/icons/VanaraHeading.png)
### **Vanara.PInvoke.Multimedia NuGet Package**
[![Version](https://img.shields.io/nuget/v/Vanara.PInvoke.Multimedia?label=NuGet&style=flat-square)](https://github.com/dahall/Vanara/releases)
[![Build status](https://img.shields.io/appveyor/build/dahall/vanara?label=AppVeyor%20build&style=flat-square)](https://ci.appveyor.com/project/dahall/vanara)

PInvoke API (methods, structures and constants) imported from Windows Multimedia (avicap32.dll, avifil32.dll, msacm32.dll, msvfw32.dll, winmm.dll).

### **What is Vanara?**

[Vanara](https://github.com/dahall/Vanara) is a community project that contains various .NET assemblies which have P/Invoke functions, interfaces, enums and structures from Windows libraries. Each assembly is associated with one or a few tightly related libraries.

### **Issues?**

First check if it's already fixed by trying the [AppVeyor build](https://ci.appveyor.com/nuget/vanara-prerelease).
If you're still running into problems, file an [issue](https://github.com/dahall/Vanara/issues).

### **Included in Vanara.PInvoke.Multimedia**

Functions | Enumerations | Structures | Interfaces
--- | --- | --- | ---
acmDriverAdd acmDriverClose acmDriverDetails acmDriverEnum acmDriverID acmDriverMessage acmDriverOpen acmDriverPriority acmDriverRemove acmFilterChoose acmFilterDetails acmFilterEnum acmFilterTagDetails acmFilterTagEnum acmFormatChoose acmFormatDetails acmFormatEnum acmFormatSuggest acmFormatTagDetails acmFormatTagEnum acmGetVersion acmMetrics acmStreamClose acmStreamConvert acmStreamMessage acmStreamOpen acmStreamPrepareHeader acmStreamReset acmStreamSize acmStreamUnprepareHeader auxGetDevCaps auxGetNumDevs auxGetVolume auxOutMessage auxSetVolume AVIBuildFilter AVIClearClipboard AVIFileAddRef AVIFileCreateStream AVIFileEndRecord AVIFileExit AVIFileGetStream AVIFileInfo AVIFileInit AVIFileOpen AVIFileReadData AVIFileRelease AVIFileWriteData AVIGetFromClipboard AVIMakeCompressedStream AVIMakeFileFromStreams AVIMakeStreamFromClipboard AVIPutFileOnClipboard AVISave AVISaveOptions AVISaveOptionsFree AVISaveV AVIStreamAddRef AVIStreamBeginStreaming AVIStreamCreate AVIStreamEndStreaming AVIStreamFindSample AVIStreamGetFrame AVIStreamGetFrameClose AVIStreamGetFrameOpen AVIStreamInfo AVIStreamLength AVIStreamOpenFromFile AVIStreamRead AVIStreamReadData AVIStreamReadFormat AVIStreamRelease AVIStreamSampleToTime AVIStreamSetFormat AVIStreamStart AVIStreamTimeToSample AVIStreamWrite AVIStreamWriteData capCreateCaptureWindow capGetDriverDescription CloseDriver CreateEditableStream DefDriverProc DrawDibBegin DrawDibChangePalette DrawDibClose DrawDibDraw DrawDibEnd DrawDibGetBuffer DrawDibGetPalette DrawDibOpen DrawDibProfileDisplay DrawDibRealize DrawDibSetPalette DrawDibStart DrawDibStop DrawDibTime DriverCallback DrvDefDriverProc DrvGetModuleHandle EditStreamClone EditStreamCopy EditStreamCut EditStreamPaste EditStreamSetInfo EditStreamSetName GetDriverModuleHandle GetOpenFileNamePreview GetSaveFileNamePreview ICClose ICCompress ICCompressorChoose ICCompressorFree ICDecompress ICDraw ICDrawBegin ICGetDisplayFormat ICGetInfo ICImageCompress ICImageDecompress ICInfo ICInstall ICLocate ICOpen ICOpenFunction ICRemove ICSendMessage ICSeqCompressFrame ICSeqCompressFrameEnd ICSeqCompressFrameStart joyConfigChanged joyGetDevCaps joyGetNumDevs joyGetPos joyGetPosEx joyGetThreshold joyReleaseCapture joySetCapture joySetThreshold MCIWndCreate MCIWndRegisterClass midiConnect midiDisconnect midiInAddBuffer midiInClose midiInGetDevCaps midiInGetErrorText midiInGetID midiInGetNumDevs midiInMessage midiInOpen midiInPrepareHeader midiInReset midiInStart midiInStop midiInUnprepareHeader midiOutCacheDrumPatches midiOutCachePatches midiOutClose midiOutGetDevCaps midiOutGetErrorText midiOutGetID midiOutGetNumDevs midiOutGetVolume midiOutLongMsg midiOutMessage midiOutOpen midiOutPrepareHeader midiOutReset midiOutSetVolume midiOutShortMsg midiOutUnprepareHeader midiStreamClose midiStreamOpen midiStreamOut midiStreamPause midiStreamPosition midiStreamProperty midiStreamRestart midiStreamStop mixerClose mixerGetControlDetails mixerGetDevCaps mixerGetID mixerGetLineControls mixerGetLineInfo mixerGetNumDevs mixerMessage mixerOpen mixerSetControlDetails mmioAdvance mmioAscend mmioClose mmioCreateChunk mmioDescend mmioFlush mmioGetInfo mmioInstallIOProc mmioOpen mmioRead mmioRename mmioSeek mmioSendMessage mmioSetBuffer mmioSetInfo mmioStringToFOURCC mmioWrite OpenDriver PlaySound SendDriverMessage sndOpenSound sndPlaySound StretchDIB timeBeginPeriod timeEndPeriod timeGetDevCaps timeGetSystemTime timeGetTime waveInAddBuffer waveInClose waveInGetDevCaps waveInGetErrorText waveInGetID waveInGetNumDevs waveInGetPosition waveInMessage waveInOpen waveInPrepareHeader waveInReset waveInStart waveInStop waveInUnprepareHeader waveOutBreakLoop waveOutClose waveOutGetDevCaps waveOutGetErrorText waveOutGetID waveOutGetNumDevs waveOutGetPitch waveOutGetPlaybackRate waveOutGetPosition waveOutGetVolume waveOutMessage waveOutOpen waveOutPause waveOutPrepareHeader waveOutReset waveOutRestart waveOutSetPitch waveOutSetPlaybackRate waveOutSetVolume waveOutUnprepareHeader waveOutWrite  | JOY_BUTTON JOYCAPSF JOYINFOEXF JOY_ISCAL JOY_POVVAL AUX_CAPS MHDR MIDI_CACHE MIDI_CAPS MIDIPROP MOD MIXER_OBJECTF MIXERCONTROL_CONTROLF MIXERCONTROL_CT MIXERLINE_COMPONENTTYPE MIXERLINE_LINEF WAVE_OPEN WAVECAPS WHDR DCB DRV MMIO MMIOCLOSE MMIOCONV MMIOCREATE MMIODESC MMIOFLUSH MMIOINST MMIOM WAVE_FORMAT CALLBACK_FLAGS MMPRODID MMRESULT MMTIME_TYPE SND ACM_DRIVERADDF ACM_DRIVERENUMF ACM_DRIVERPRIORITYF ACM_FILTERDETAILSF ACM_FILTERENUMF ACM_FILTERTAGDETAILSF ACM_FORMATDETAILSF ACM_FORMATENUMF ACM_FORMATSUGGESTF ACM_FORMATTAGDETAILSF ACM_METRIC ACM_STREAMCONVERTF ACM_STREAMOPENF ACM_STREAMSIZEF ACMDRIVERDETAILS_SUPPORTF ACMFILTERCHOOSE_STYLEF ACMFORMATCHOOSE_STYLEF ACMSTREAMHEADER_STATUSF AVICOMPRESSF AVIFILECAPS AVIFILEINFOF AVIIF AVISTREAMINFOF AVSTREAMMASTER FINDF ICMF_CHOOSE AVIERR VHDR capMessage CONTROLCALLBACK VHDR MCI MCI_FORMAT MCI_MODE MCIMessage MCIWNDF MCIWNDOPENF DDF ICCOMPRESSF ICCOMPRESSFRAMESF ICDECOMPRESSF ICDRAWF ICERR ICINSTALL ICM_Message ICMF_CHOOSE ICMF_COMPVARS ICMODE VIDCF                                                                                                                                                                           | JOYCAPS JOYINFO JOYINFOEX JOYPOS JOYRANGE JOYREGHWVALUES MDEVICECAPSEX MIDIOPENDESC MIDIOPENSTRMID AUXCAPS HMIDI HMIDIIN HMIDIOUT HMIDISTRM MIDIEVENT MIDIHDR MIDIINCAPS MIDIOUTCAPS MIDIPROPTEMPO MIDIPROPTIMEDIV MIDISTRMBUFFVER HMIXER HMIXEROBJ MIXERCAPS MIXERCONTROL MIXERCONTROLDETAILS MIXERCONTROLDETAILS_BOOLEAN MIXERCONTROLDETAILS_LISTTEXT MIXERCONTROLDETAILS_SIGNED MIXERCONTROLDETAILS_UNSIGNED MIXERLINE MIXERLINECONTROLS HWAVEIN HWAVEOUT WAVEFORMATEX WAVEFORMATEXTENSIBLE WAVEHDR WAVEINCAPS WAVEOUTCAPS DRVCONFIGINFO HDRVR HMMIO MMCKINFO MMIOINFO PCMWAVEFORMAT WAVEFILTER WAVEFORMAT MMTIME TIMECAPS ACMDRIVERDETAILS ACMFILTERCHOOSE ACMFILTERDETAILS ACMFILTERTAGDETAILS ACMFORMATCHOOSE ACMFORMATDETAILS ACMFORMATTAGDETAILS ACMSTREAMHEADER HACMDRIVER HACMDRIVERID HACMOBJ HACMSTREAM AVICOMPRESSOPTIONS AVIFILEINFO AVISTREAMINFO CAPDRIVERCAPS CAPINFOCHUNK CAPSTATUS CAPTUREPARMS DRAWDIBTIME VIDEOHDR CAPDRIVERCAPS CAPINFOCHUNK CAPSTATUS CAPTUREPARMS VIDEOHDR COMPVARS DRAWDIBTIME HDRAWDIB HIC ICCOMPRESS ICCOMPRESSFRAMES ICDECOMPRESS ICDECOMPRESSEX ICDRAW ICDRAWBEGIN ICDRAWSUGGEST ICINFO ICOPEN ICSETSTATUSPROC BOUNDS METRICS TARGET SAMPLES                                                                                                                                                                  | IAVIEditStream IAVIFile IAVIStream IAVIStreaming IGetFrame                                                                                                                                                                                                                                                         
