wca

package
v0.0.0-...-cca47e3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED       = 0x10000000
	AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE            = 0x20000000
	AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED = 0x40000000
)
View Source
const (
	AUDCLNT_STREAMOPTIONS_NONE = iota
	AUDCLNT_STREAMOPTIONS_RAW
	AUDCLNT_STREAMOPTIONS_MATCH_FORMAT
)
View Source
const (
	AudioCategory_Other = iota
	AudioCategory_ForegroundOnlyMedia
	AudioCategory_BackgroundCapableMedia
	AudioCategory_Communications
	AudioCategory_Alerts
	AudioCategory_SoundEffects
	AudioCategory_GameEffects
	AudioCategory_GameMedia
	AudioCategory_GameChat
	AudioCategory_Speech
	AudioCategory_Movie
	AudioCategory_Media
)
View Source
const (
	EConsole = iota
	EMultimedia
	ECommunications
	ERole_enum_count
)
View Source
const (
	DELETE       = 0x00010000
	READ_CONTROL = 0x00020000
	SYNCHRONIZE  = 0x00100000
	WRITE_DAC    = 0x00040000
	WRITE_OWNER  = 0x00080000
)
View Source
const (
	EVENT_ALL_ACCESS   = 0x1F0003
	EVENT_MODIFY_STATE = 0x0002
)
View Source
const (
	CREATE_EVENT_INITIAL_SET  = 0x00000002
	CREATE_EVENT_MANUAL_RESET = 0x00000001
)
View Source
const (
	AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY = 0x1
	AUDCLNT_BUFFERFLAGS_SILENT             = 0x2
	AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR    = 0x4
)
View Source
const (
	AUDCLNT_STREAMFLAGS_CROSSPROCESS        = 0x00010000
	AUDCLNT_STREAMFLAGS_LOOPBACK            = 0x00020000
	AUDCLNT_STREAMFLAGS_EVENTCALLBACK       = 0x00040000
	AUDCLNT_STREAMFLAGS_NOPERSIST           = 0x00080000
	AUDCLNT_STREAMFLAGS_RATEADJUST          = 0x00100000
	AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM      = 0x80000000
	AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY = 0x08000000
)
View Source
const (
	AUDCLNT_SHAREMODE_SHARED = iota
	AUDCLNT_SHAREMODE_EXCLUSIVE
)
View Source
const (
	ENDPOINT_SYSFX_ENABLED = iota
	ENDPOINT_SYSFX_DISABLED
)
View Source
const (
	DEVICE_STATE_ACTIVE     = 0x00000001
	DEVICE_STATE_DISABLED   = 0x00000002
	DEVICE_STATE_NOTPRESENT = 0x00000004
	DEVICE_STATE_UNPLUGGED  = 0x00000008
	DEVICE_STATEMASK_ALL    = 0x0000000F
)
View Source
const (
	ERender = iota
	ECapture
	EAll
	EDataFlow_enum_count
)
View Source
const (
	STGM_READ       = 0x0
	STGM_WRITE      = 0x1
	STGM_READ_WRITE = 0x2
)
View Source
const (
	CLSCTX_INPROC_SERVER          = 0x1
	CLSCTX_INPROC_HANDLER         = 0x2
	CLSCTX_LOCAL_SERVER           = 0x4
	CLSCTX_INPROC_SERVER16        = 0x8
	CLSCTX_REMOTE_SERVER          = 0x10
	CLSCTX_INPROC_HANDLER16       = 0x20
	CLSCTX_RESERVED1              = 0x40
	CLSCTX_RESERVED2              = 0x80
	CLSCTX_RESERVED3              = 0x100
	CLSCTX_RESERVED4              = 0x200
	CLSCTX_NO_CODE_DOWNLOAD       = 0x400
	CLSCTX_RESERVED5              = 0x800
	CLSCTX_NO_CUSTOM_MARSHAL      = 0x1000
	CLSCTX_ENABLE_CODE_DOWNLOAD   = 0x2000
	CLSCTX_NO_FAILURE_LOG         = 0x4000
	CLSCTX_DISABLE_AAA            = 0x8000
	CLSCTX_ENABLE_AAA             = 0x10000
	CLSCTX_FROM_DEFAULT_CONTEXT   = 0x20000
	CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000
	CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000
	CLSCTX_ENABLE_CLOAKING        = 0x100000
	CLSCTX_APPCONTAINER           = 0x400000
	CLSCTX_ACTIVATE_AAA_AS_IU     = 0x800000
	CLSCTX_PS_DLL                 = 0x80000000
	CLSCTX_ALL                    = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
)
View Source
const (
	AUDCLNT_E_NOT_INITIALIZED              = 0x001
	AUDCLNT_E_ALREADY_INITIALIZED          = 0x002
	AUDCLNT_E_WRONG_ENDPOINT_TYPE          = 0x003
	AUDCLNT_E_DEVICE_INVALIDATED           = 0x004
	AUDCLNT_E_NOT_STOPPED                  = 0x005
	AUDCLNT_E_BUFFER_TOO_LARGE             = 0x006
	AUDCLNT_E_OUT_OF_ORDER                 = 0x007
	AUDCLNT_E_UNSUPPORTED_FORMAT           = 0x008
	AUDCLNT_E_INVALID_SIZE                 = 0x009
	AUDCLNT_E_DEVICE_IN_USE                = 0x00a
	AUDCLNT_E_BUFFER_OPERATION_PENDING     = 0x00b
	AUDCLNT_E_THREAD_NOT_REGISTERED        = 0x00c
	AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED   = 0x00e
	AUDCLNT_E_ENDPOINT_CREATE_FAILED       = 0x00f
	AUDCLNT_E_SERVICE_NOT_RUNNING          = 0x010
	AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED     = 0x011
	AUDCLNT_E_EXCLUSIVE_MODE_ONLY          = 0x012
	AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL = 0x013
	AUDCLNT_E_EVENTHANDLE_NOT_SET          = 0x014
	AUDCLNT_E_INCORRECT_BUFFER_SIZE        = 0x015
	AUDCLNT_E_BUFFER_SIZE_ERROR            = 0x016
	AUDCLNT_E_CPUUSAGE_EXCEEDED            = 0x017
	AUDCLNT_E_BUFFER_ERROR                 = 0x018
	AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED      = 0x019
	AUDCLNT_E_INVALID_DEVICE_PERIOD        = 0x020
)
View Source
const (
	AudioSessionStateActive = iota
	AudioSessionStateInactive
	AudioSessionStateExpired
)
View Source
const (
	INFINITE = 0xFFFFFFFF
)
View Source
const (
	WAVE_FORMAT_PCM = 0x1
)

Variables

View Source
var (
	// The following IIDs are defined in mmdeviceapi.h.
	IID_IMMNotificationClient = ole.NewGUID("{7991EEC9-7E89-4D85-8390-6C703CEC60C0}")
	IID_IMMDevice             = ole.NewGUID("{D666063F-1587-4E43-81F1-B948E807363F}")
	IID_IMMDeviceCollection   = ole.NewGUID("{0BD7A1BE-7A1A-44DB-8397-CC5392387B5E}")
	IID_IMMEndpoint           = ole.NewGUID("{1BE09788-6894-4089-8586-9A2A6C265AC5}")
	IID_IMMDeviceEnumerator   = ole.NewGUID("{A95664D2-9614-4F35-A746-DE8DB63617E6}")
	IID_IMMDeviceActivator    = ole.NewGUID("{3B0D0EA4-D0A9-4B0E-935B-09516746FAC0}")
	CLSID_MMDeviceEnumerator  = ole.NewGUID("{BCDE0395-E52F-467C-8E3D-C4579291692E}")

	// The following IIDs are defined in audioclient.h.
	IID_IAudioClient          = ole.NewGUID("{1CB9AD4C-DBFA-4c32-B178-C2F568A703B2}")
	IID_IAudioClient2         = ole.NewGUID("{726778CD-F60A-4eda-82DE-E47610CD78AA}")
	IID_IAudioClient3         = ole.NewGUID("{7ED4EE07-8E67-4CD4-8C1A-2B7A5987AD42}")
	IID_IAudioRenderClient    = ole.NewGUID("{F294ACFC-3146-4483-A7BF-ADDCA7C260E2}")
	IID_IAudioCaptureClient   = ole.NewGUID("{C8ADBD64-E71E-48a0-A4DE-185C395CD317}")
	IID_IAudioClock           = ole.NewGUID("{CD63314F-3FBA-4a1b-812C-EF96358728E7}")
	IID_IAudioClock2          = ole.NewGUID("{6f49ff73-6727-49ac-a008-d98cf5e70048}")
	IID_IAudioClockAdjustment = ole.NewGUID("{f6e4c0a0-46d9-4fb8-be21-57a3ef2b626c}")
	IID_ISimpleAudioVolume    = ole.NewGUID("{87CE5498-68D6-44E5-9215-6DA47EF883D8}")
	IID_IAudioStreamVolume    = ole.NewGUID("{93014887-242D-4068-8A15-CF5E93B90FE3}")
	IID_IChannelAudioVolume   = ole.NewGUID("{1C158861-B533-4B30-B1CF-E853E51C59B8}")

	// The following IDs are defined in audiopolicy.h.
	IID_IAudioSessionEvents          = ole.NewGUID("{24918ACC-64B3-37C1-8CA9-74A66E9957A8}")
	IID_IAudioSessionControl         = ole.NewGUID("{F4B1A599-7266-4319-A8CA-E70ACB11E8CD}")
	IID_IAudioSessionControl2        = ole.NewGUID("{bfb7ff88-7239-4fc9-8fa2-07c950be9c6d}")
	IID_IAudioSessionManager         = ole.NewGUID("{BFA971F1-4D5E-40BB-935E-967039BFBEE4}")
	IID_IAudioVolumeDuckNotification = ole.NewGUID("{C3B284D4-6D39-4359-B3CF-B56DDB3BB39C}")
	IID_IAudioSessionNotification    = ole.NewGUID("{641DD20B-4D41-49CC-ABA3-174B9477BB08}")
	IID_IAudioSessionEnumerator      = ole.NewGUID("{E2F5BB11-0570-40CA-ACDD-3AA01277DEE8}")
	IID_IAudioSessionManager2        = ole.NewGUID("{77AA99A0-1BD6-484F-8BC7-2C654C9A9B6F}")

	// The following IIDs are defined in devicetopology.h.
	IID_IKsControl              = ole.NewGUID("{28F54685-06FD-11D2-B27A-00A0C9223196}")
	IID_IPerChannelDbLevel      = ole.NewGUID("{C2F8E001-F205-4BC9-99BC-C13B1E048CCB}")
	IID_IAudioVolumeLevel       = ole.NewGUID("{7FB7B48F-531D-44A2-BCB3-5AD5A134B3DC}")
	IID_IAudioChannelConfig     = ole.NewGUID("{BB11C46F-EC28-493C-B88A-5DB88062CE98}")
	IID_IAudioLoudness          = ole.NewGUID("{7D8B1437-DD53-4350-9C1B-1EE2890BD938}")
	IID_IAudioInputSelector     = ole.NewGUID("{4F03DC02-5E6E-4653-8F72-A030C123D598}")
	IID_IAudioOutputSelector    = ole.NewGUID("{BB515F69-94A7-429e-8B9C-271B3F11A3AB}")
	IID_IAudioMute              = ole.NewGUID("{DF45AEEA-B74A-4B6B-AFAD-2366B6AA012E}")
	IID_IAudioBass              = ole.NewGUID("{A2B1A1D9-4DB3-425D-A2B2-BD335CB3E2E5}")
	IID_IAudioMidrange          = ole.NewGUID("{5E54B6D7-B44B-40D9-9A9E-E691D9CE6EDF}")
	IID_IAudioTreble            = ole.NewGUID("{0A717812-694E-4907-B74B-BAFA5CFDCA7B}")
	IID_IAudioAutoGainControl   = ole.NewGUID("{85401FD4-6DE4-4b9d-9869-2D6753A82F3C}")
	IID_IAudioPeakMeter         = ole.NewGUID("{DD79923C-0599-45e0-B8B6-C8DF7DB6E796}")
	IID_IDeviceSpecificProperty = ole.NewGUID("{3B22BCBF-2586-4af0-8583-205D391B807C}")
	IID_IKsFormatSupport        = ole.NewGUID("{3CB4A69D-BB6F-4D2B-95B7-452D2C155DB5}")
	IID_IKsJackDescription      = ole.NewGUID("{4509F757-2D46-4637-8E62-CE7DB944F57B}")
	IID_IKsJackDescription2     = ole.NewGUID("{478F3A9B-E0C9-4827-9228-6F5505FFE76A}")
	IID_IKsJackSinkInformation  = ole.NewGUID("{D9BD72ED-290F-4581-9FF3-61027A8FE532}")
	IID_IPartsList              = ole.NewGUID("{6DAA848C-5EB0-45CC-AEA5-998A2CDA1FFB}")
	IID_IPart                   = ole.NewGUID("{AE2DE0E4-5BCA-4F2D-AA46-5D13F8FDB3A9}")
	IID_IConnector              = ole.NewGUID("{9c2c4058-23f5-41de-877a-df3af236a09e}")
	IID_ISubunit                = ole.NewGUID("{82149A85-DBA6-4487-86BB-EA8F7FEFCC71}")
	IID_IControlInterface       = ole.NewGUID("{45d37c3f-5140-444a-ae24-400789f3cbf3}")
	IID_IControlChangeNotify    = ole.NewGUID("{A09513ED-C709-4d21-BD7B-5F34C47F3947}")
	IID_IDeviceTopology         = ole.NewGUID("{2A07407E-6497-4A18-9787-32F79BD0D98F}")
	CLSID_DeviceTopology        = ole.NewGUID("{1DF639D0-5EC1-47AA-9379-828DC1AA8C59}")

	// The following IIDs are defined in endpointvolume.h.
	IID_IAudioEndpointVolumeCallback = ole.NewGUID("{657804FA-D6AD-4496-8A60-352752AF4F89}")
	IID_IAudioEndpointVolume         = ole.NewGUID("{5CDF2C82-841E-4546-9722-0CF74078229A}")
	IID_IAudioEndpointVolumeEx       = ole.NewGUID("{66E11784-F695-4F28-A505-A7080081A78F}")
	IID_IAudioMeterInformation       = ole.NewGUID("{C02216F6-8C67-4B5B-9D00-D008E73E0064}")
)

Functions

func CloseHandle

func CloseHandle(hObject uintptr) (err error)

func CoCreateInstance

func CoCreateInstance(clsid *ole.GUID, punk uintptr, clsctx uint32, iid *ole.GUID, obj interface{}) (err error)

func CreateEventExA

func CreateEventExA(securityAttributes, name uintptr, flag, desiredAccess uint32) (handle uintptr)

func WaitForSingleObject

func WaitForSingleObject(handle uintptr, milliseconds uint32) (dword uint32)

Types

type ConnectorType

type ConnectorType uint64
const (
	Unknown_Connector ConnectorType = iota
	Physical_Internal
	Physical_External
	Software_IO
	Software_Fixed
	Network
)

type DataFlow

type DataFlow uint64
const (
	In DataFlow = iota
	Out
)

type EDataFlow

type EDataFlow uint64

type ERole

type ERole uint64

type IAudioCaptureClient

type IAudioCaptureClient struct {
	ole.IUnknown
}

func (*IAudioCaptureClient) GetBuffer

func (v *IAudioCaptureClient) GetBuffer(ppData **byte, pNumFramesToRead, pdwFlags *uint32, pu64DevicePosition, pu64QPCPosition *uint64) (err error)

func (*IAudioCaptureClient) GetNextPacketSize

func (v *IAudioCaptureClient) GetNextPacketSize(pNumFramesInNextPacket *uint32) (err error)

func (*IAudioCaptureClient) ReleaseBuffer

func (v *IAudioCaptureClient) ReleaseBuffer(NumFramesRead uint32) (err error)

func (*IAudioCaptureClient) VTable

type IAudioCaptureClientVtbl

type IAudioCaptureClientVtbl struct {
	ole.IUnknownVtbl
	GetBuffer         uintptr
	ReleaseBuffer     uintptr
	GetNextPacketSize uintptr
}

type IAudioClient

type IAudioClient struct {
	ole.IUnknown
}

func (*IAudioClient) GetBufferSize

func (v *IAudioClient) GetBufferSize(pNumBufferFrames *uint32) (err error)

func (*IAudioClient) GetCurrentPadding

func (v *IAudioClient) GetCurrentPadding(pNumPaddingFrames *uint32) (err error)

func (*IAudioClient) GetDevicePeriod

func (v *IAudioClient) GetDevicePeriod(phnsDefaultDevicePeriod, phnsMinimumDevicePeriod *REFERENCE_TIME) (err error)

func (*IAudioClient) GetMixFormat

func (v *IAudioClient) GetMixFormat(ppDeviceFormat **WAVEFORMATEX) (err error)

func (*IAudioClient) GetService

func (v *IAudioClient) GetService(riid *ole.GUID, ppv interface{}) (err error)

func (*IAudioClient) GetStreamLatency

func (v *IAudioClient) GetStreamLatency(phnsLatency *REFERENCE_TIME) (err error)

func (*IAudioClient) Initialize

func (v *IAudioClient) Initialize(ShareMode, StreamFlags uint32, hnsBufferDuration, hnsPeriodicity REFERENCE_TIME, pFormat *WAVEFORMATEX, AudioSessionGuid *ole.GUID) (err error)

func (*IAudioClient) IsFormatSupported

func (v *IAudioClient) IsFormatSupported(ShareMode uint32, pFormat *WAVEFORMATEX, ppClosestMatch **WAVEFORMATEX) (err error)

func (*IAudioClient) Reset

func (v *IAudioClient) Reset() (err error)

func (*IAudioClient) SetEventHandle

func (v *IAudioClient) SetEventHandle(eventHandle uintptr) (err error)

func (*IAudioClient) Start

func (v *IAudioClient) Start() (err error)

func (*IAudioClient) Stop

func (v *IAudioClient) Stop() (err error)

func (*IAudioClient) VTable

func (v *IAudioClient) VTable() *IAudioClientVtbl

type IAudioClientVtbl

type IAudioClientVtbl struct {
	ole.IUnknownVtbl
	Initialize        uintptr
	GetBufferSize     uintptr
	GetStreamLatency  uintptr
	GetCurrentPadding uintptr
	IsFormatSupported uintptr
	GetMixFormat      uintptr
	GetDevicePeriod   uintptr
	Start             uintptr
	Stop              uintptr
	Reset             uintptr
	SetEventHandle    uintptr
	GetService        uintptr
}

type IAudioEndpointVolume

type IAudioEndpointVolume struct {
	ole.IUnknown
}

func (*IAudioEndpointVolume) GetChannelCount

func (v *IAudioEndpointVolume) GetChannelCount(pnChannelCount *uint32) (err error)

func (*IAudioEndpointVolume) GetChannelVolumeLevel

func (v *IAudioEndpointVolume) GetChannelVolumeLevel(nChannel uint32, pfLevelDB *float32) (err error)

func (*IAudioEndpointVolume) GetChannelVolumeLevelScalar

func (v *IAudioEndpointVolume) GetChannelVolumeLevelScalar(nChannel uint32, pfLevel *float32) (err error)

func (*IAudioEndpointVolume) GetMasterVolumeLevel

func (v *IAudioEndpointVolume) GetMasterVolumeLevel(pfLevelDB *float32) (err error)

func (*IAudioEndpointVolume) GetMasterVolumeLevelScalar

func (v *IAudioEndpointVolume) GetMasterVolumeLevelScalar(pfLevel *float32) (err error)

func (*IAudioEndpointVolume) GetMute

func (v *IAudioEndpointVolume) GetMute(pbMute *bool) (err error)

func (*IAudioEndpointVolume) GetVolumeRange

func (v *IAudioEndpointVolume) GetVolumeRange(pflVolumeMindB, pflVolumeMaxdB, pflVolumeIncrementdB *float32) (err error)

func (*IAudioEndpointVolume) GetVolumeStepInfo

func (v *IAudioEndpointVolume) GetVolumeStepInfo(pnStep, pnStepCount *uint32) (err error)

func (*IAudioEndpointVolume) QueryHardwareSupport

func (v *IAudioEndpointVolume) QueryHardwareSupport(pdwHardwareSupportMask *uint32) (err error)

func (*IAudioEndpointVolume) RegisterControlChangeNotify

func (v *IAudioEndpointVolume) RegisterControlChangeNotify() (err error)

func (*IAudioEndpointVolume) SetChannelVolumeLevel

func (v *IAudioEndpointVolume) SetChannelVolumeLevel(nChannel uint32, fLevelDB float32, pguidEventContext *ole.GUID) (err error)

func (*IAudioEndpointVolume) SetChannelVolumeLevelScalar

func (v *IAudioEndpointVolume) SetChannelVolumeLevelScalar(nChannel uint32, fLevel float32, pguidEventContext *ole.GUID) (err error)

func (*IAudioEndpointVolume) SetMasterVolumeLevel

func (v *IAudioEndpointVolume) SetMasterVolumeLevel(fLevelDB float32, pguidEventContext *ole.GUID) (err error)

func (*IAudioEndpointVolume) SetMasterVolumeLevelScalar

func (v *IAudioEndpointVolume) SetMasterVolumeLevelScalar(fLevel float32, pguidEventContext *ole.GUID) (err error)

func (*IAudioEndpointVolume) SetMute

func (v *IAudioEndpointVolume) SetMute(bMute bool, pguidEventContext *ole.GUID) (err error)

func (*IAudioEndpointVolume) UnregisterControlChangeNotify

func (v *IAudioEndpointVolume) UnregisterControlChangeNotify() (err error)

func (*IAudioEndpointVolume) VTable

func (*IAudioEndpointVolume) VolumeStepDown

func (v *IAudioEndpointVolume) VolumeStepDown(pguidEventContext *ole.GUID) (err error)

func (*IAudioEndpointVolume) VolumeStepUp

func (v *IAudioEndpointVolume) VolumeStepUp(pguidEventContext *ole.GUID) (err error)

type IAudioEndpointVolumeVtbl

type IAudioEndpointVolumeVtbl struct {
	ole.IUnknownVtbl
	RegisterControlChangeNotify   uintptr
	UnregisterControlChangeNotify uintptr
	GetChannelCount               uintptr
	SetMasterVolumeLevel          uintptr
	SetMasterVolumeLevelScalar    uintptr
	GetMasterVolumeLevel          uintptr
	GetMasterVolumeLevelScalar    uintptr
	SetChannelVolumeLevel         uintptr
	SetChannelVolumeLevelScalar   uintptr
	GetChannelVolumeLevel         uintptr
	GetChannelVolumeLevelScalar   uintptr
	SetMute                       uintptr
	GetMute                       uintptr
	GetVolumeStepInfo             uintptr
	VolumeStepUp                  uintptr
	VolumeStepDown                uintptr
	QueryHardwareSupport          uintptr
	GetVolumeRange                uintptr
}

type IAudioInputSelector

type IAudioInputSelector struct {
	ole.IUnknown
}

func (*IAudioInputSelector) GetSelection

func (v *IAudioInputSelector) GetSelection(pnIdSelected *uint32) (err error)

func (*IAudioInputSelector) SetSelection

func (v *IAudioInputSelector) SetSelection(nIdSelect uint32, pguidEventContext *ole.GUID) (err error)

func (*IAudioInputSelector) VTable

type IAudioInputSelectorVtbl

type IAudioInputSelectorVtbl struct {
	ole.IUnknownVtbl
	GetSelection uintptr
	SetSelection uintptr
}

type IAudioMute

type IAudioMute struct {
	ole.IUnknown
}

func (*IAudioMute) GetMute

func (v *IAudioMute) GetMute(pbMuted *bool) (err error)

func (*IAudioMute) SetMute

func (v *IAudioMute) SetMute(bMuted bool, pguidEventContext *ole.GUID) (err error)

func (*IAudioMute) VTable

func (v *IAudioMute) VTable() *IAudioMuteVtbl

type IAudioMuteVtbl

type IAudioMuteVtbl struct {
	ole.IUnknownVtbl
	SetMute uintptr
	GetMute uintptr
}

type IAudioRenderClient

type IAudioRenderClient struct {
	ole.IUnknown
}

func (*IAudioRenderClient) GetBuffer

func (v *IAudioRenderClient) GetBuffer(NumFramesRequested uint32, ppData **byte) (err error)

func (*IAudioRenderClient) ReleaseBuffer

func (v *IAudioRenderClient) ReleaseBuffer(NumFramesWritten, dwFlags uint32) (err error)

func (*IAudioRenderClient) VTable

type IAudioRenderClientVtbl

type IAudioRenderClientVtbl struct {
	ole.IUnknownVtbl
	GetBuffer     uintptr
	ReleaseBuffer uintptr
}

type IAudioSessionControl

type IAudioSessionControl struct {
	ole.IUnknown
}

func (*IAudioSessionControl) GetDisplayName

func (v *IAudioSessionControl) GetDisplayName(retVal *string) (err error)

func (*IAudioSessionControl) GetGroupingParam

func (v *IAudioSessionControl) GetGroupingParam(pRetVal *ole.GUID) (err error)

func (*IAudioSessionControl) GetIconPath

func (v *IAudioSessionControl) GetIconPath(retVal *string) (err error)

func (*IAudioSessionControl) GetState

func (v *IAudioSessionControl) GetState(pRetVal *uint32) (err error)

func (*IAudioSessionControl) RegisterAudioSessionNotification

func (v *IAudioSessionControl) RegisterAudioSessionNotification(NewNotifications *IAudioSessionEvents) (err error)

func (*IAudioSessionControl) SetDisplayName

func (v *IAudioSessionControl) SetDisplayName(Value *string, EventContext *ole.GUID) (err error)

func (*IAudioSessionControl) SetGroupingParam

func (v *IAudioSessionControl) SetGroupingParam(Override *ole.GUID, EventContext *ole.GUID) (err error)

func (*IAudioSessionControl) SetIconPath

func (v *IAudioSessionControl) SetIconPath(Value *string, EventContext *ole.GUID) (err error)

func (*IAudioSessionControl) UnregisterAudioSessionNotification

func (v *IAudioSessionControl) UnregisterAudioSessionNotification(NewNotifications *IAudioSessionEvents) (err error)

func (*IAudioSessionControl) VTable

type IAudioSessionControl2

type IAudioSessionControl2 struct {
	IAudioSessionControl
}

func (*IAudioSessionControl2) GetProcessId

func (v *IAudioSessionControl2) GetProcessId(pRetVal *uint32) (err error)

func (*IAudioSessionControl2) GetSessionIdentifier

func (v *IAudioSessionControl2) GetSessionIdentifier(retVal *string) (err error)

func (*IAudioSessionControl2) GetSessionInstanceIdentifier

func (v *IAudioSessionControl2) GetSessionInstanceIdentifier(retVal *string) (err error)

func (*IAudioSessionControl2) IsSystemSoundsSession

func (v *IAudioSessionControl2) IsSystemSoundsSession() (err error)

func (*IAudioSessionControl2) SetDuckingPreference

func (v *IAudioSessionControl2) SetDuckingPreference(optOut bool) (err error)

func (*IAudioSessionControl2) VTable

type IAudioSessionControl2Vtbl

type IAudioSessionControl2Vtbl struct {
	IAudioSessionControlVtbl
	GetSessionIdentifier         uintptr
	GetSessionInstanceIdentifier uintptr
	GetProcessId                 uintptr
	IsSystemSoundsSession        uintptr
	SetDuckingPreference         uintptr
}

type IAudioSessionControlVtbl

type IAudioSessionControlVtbl struct {
	ole.IUnknownVtbl
	GetState                           uintptr
	GetDisplayName                     uintptr
	SetDisplayName                     uintptr
	GetIconPath                        uintptr
	SetIconPath                        uintptr
	GetGroupingParam                   uintptr
	SetGroupingParam                   uintptr
	RegisterAudioSessionNotification   uintptr
	UnregisterAudioSessionNotification uintptr
}

type IAudioSessionEnumerator

type IAudioSessionEnumerator struct {
	ole.IUnknown
}

func (*IAudioSessionEnumerator) GetCount

func (v *IAudioSessionEnumerator) GetCount(SessionCount *int) (err error)

func (*IAudioSessionEnumerator) GetSession

func (v *IAudioSessionEnumerator) GetSession(SessionCount int, Session **IAudioSessionControl) (err error)

func (*IAudioSessionEnumerator) VTable

type IAudioSessionEnumeratorVtbl

type IAudioSessionEnumeratorVtbl struct {
	ole.IUnknownVtbl
	GetCount   uintptr
	GetSession uintptr
}

type IAudioSessionEvents

type IAudioSessionEvents struct {
	ole.IUnknown
}

type IAudioSessionEventsVtbl

type IAudioSessionEventsVtbl struct {
	QueryInterface         uintptr
	AddRef                 uintptr
	Release                uintptr
	OnDisplayNameChanged   uintptr
	OnIconPathChanged      uintptr
	OnSimpleVolumeChanged  uintptr
	OnChannelVolumeChanged uintptr
	OnGroupingParamChanged uintptr
	OnStateChanged         uintptr
	OnSessionDisconnected  uintptr
}

type IAudioSessionManager

type IAudioSessionManager struct {
	ole.IUnknown
}

func (*IAudioSessionManager) GetAudioSessionControl

func (v *IAudioSessionManager) GetAudioSessionControl(AudioSessionGuid *ole.GUID, StreamFlags uint32, SessionControl **IAudioSessionControl) (err error)

func (*IAudioSessionManager) GetSimpleAudioVolume

func (v *IAudioSessionManager) GetSimpleAudioVolume(AudioSessionGuid *ole.GUID, StreamFlags uint32, AudioVolume **ISimpleAudioVolume) (err error)

func (*IAudioSessionManager) VTable

type IAudioSessionManager2

type IAudioSessionManager2 struct {
	IAudioSessionManager
}

func (*IAudioSessionManager2) GetSessionEnumerator

func (v *IAudioSessionManager2) GetSessionEnumerator(SessionEnum **IAudioSessionEnumerator) (err error)

func (*IAudioSessionManager2) RegisterDuckNotification

func (v *IAudioSessionManager2) RegisterDuckNotification(sessionID *string, duckNotification *IAudioVolumeDuckNotification) (err error)

func (*IAudioSessionManager2) RegisterSessionNotification

func (v *IAudioSessionManager2) RegisterSessionNotification(SessionNotification *IAudioSessionNotification) (err error)

func (*IAudioSessionManager2) UnregisterDuckNotification

func (v *IAudioSessionManager2) UnregisterDuckNotification(duckNotification *IAudioVolumeDuckNotification) (err error)

func (*IAudioSessionManager2) UnregisterSessionNotification

func (v *IAudioSessionManager2) UnregisterSessionNotification(SessionNotification *IAudioSessionNotification) (err error)

func (*IAudioSessionManager2) VTable

type IAudioSessionManager2Vtbl

type IAudioSessionManager2Vtbl struct {
	IAudioSessionManagerVtbl
	GetSessionEnumerator          uintptr
	RegisterSessionNotification   uintptr
	UnregisterSessionNotification uintptr
	RegisterDuckNotification      uintptr
	UnregisterDuckNotification    uintptr
}

type IAudioSessionManagerVtbl

type IAudioSessionManagerVtbl struct {
	ole.IUnknownVtbl
	GetAudioSessionControl uintptr
	GetSimpleAudioVolume   uintptr
}

type IAudioSessionNotification

type IAudioSessionNotification struct {
	VTable *IAudioSessionEventsVtbl
}

type IAudioSessionNotificationVtbl

type IAudioSessionNotificationVtbl struct {
	QueryInterface   uintptr
	AddRef           uintptr
	Release          uintptr
	OnSessionCreated uintptr
}

type IAudioVolumeDuckNotification

type IAudioVolumeDuckNotification struct {
	VTable *IAudioSessionEventsVtbl
}

type IAudioVolumeDuckNotificationVtbl

type IAudioVolumeDuckNotificationVtbl struct {
	QueryInterface             uintptr
	AddRef                     uintptr
	Release                    uintptr
	OnVolumeDuckNotification   uintptr
	OnVolumeUnduckNotification uintptr
}

type IConnector

type IConnector struct {
	ole.IUnknown
}

func (*IConnector) ConnectTo

func (v *IConnector) ConnectTo(pFlow *DataFlow) (err error)

func (*IConnector) Disconnect

func (v *IConnector) Disconnect(pFlow *DataFlow) (err error)

func (*IConnector) GetConnectedTo

func (v *IConnector) GetConnectedTo(ppConTo **IConnector) (err error)

func (*IConnector) GetDataFlow

func (v *IConnector) GetDataFlow(pFlow *DataFlow) (err error)

func (*IConnector) GetType

func (v *IConnector) GetType(pType *ConnectorType) (err error)

func (*IConnector) IsConnected

func (v *IConnector) IsConnected(pbConnected *bool) (err error)

func (*IConnector) VTable

func (v *IConnector) VTable() *IConnectorVtbl

type IConnectorVtbl

type IConnectorVtbl struct {
	ole.IUnknownVtbl
	GetType                   uintptr
	GetDataFlow               uintptr
	ConnectTo                 uintptr
	Disconnect                uintptr
	IsConnected               uintptr
	GetConnectedTo            uintptr
	GetConnectorIdConnectedTo uintptr
	GetDeviceIdConnectedTo    uintptr
}

type IDeviceTopology

type IDeviceTopology struct {
	ole.IUnknown
}

func (*IDeviceTopology) GetConnector

func (v *IDeviceTopology) GetConnector(nIndex uint32, ppConnector **IConnector) (err error)

func (*IDeviceTopology) GetConnectorCount

func (v *IDeviceTopology) GetConnectorCount(pCount *uint32) (err error)

func (*IDeviceTopology) GetDeviceId

func (v *IDeviceTopology) GetDeviceId(retVal *string) (err error)

func (*IDeviceTopology) VTable

func (v *IDeviceTopology) VTable() *IDeviceTopologyVtbl

type IDeviceTopologyVtbl

type IDeviceTopologyVtbl struct {
	ole.IUnknownVtbl
	GetConnectorCount uintptr
	GetConnector      uintptr
	GetSubunitCount   uintptr
	GetSubunit        uintptr
	GetPartById       uintptr
	GetDeviceId       uintptr
	GetSignalPath     uintptr
}

type IMMDevice

type IMMDevice struct {
	ole.IUnknown
}

-

func (*IMMDevice) Activate

func (v *IMMDevice) Activate(iid *ole.GUID, dwClsCtx uint32, pActivationParams, ppInterface interface{}) (err error)

func (*IMMDevice) GetId

func (v *IMMDevice) GetId(strId *string) (err error)

func (*IMMDevice) GetState

func (v *IMMDevice) GetState(pdwState *uint32) (err error)

func (*IMMDevice) VTable

func (v *IMMDevice) VTable() *IMMDeviceVtbl

type IMMDeviceEnumerator

type IMMDeviceEnumerator struct {
	ole.IUnknown
}

func (*IMMDeviceEnumerator) GetDefaultAudioEndpoint

func (v *IMMDeviceEnumerator) GetDefaultAudioEndpoint(dataFlow, role uint32, ppEndpoint **IMMDevice) (err error)

func (*IMMDeviceEnumerator) GetDevice

func (v *IMMDeviceEnumerator) GetDevice(pwstrId *uint32, ppDevice **IMMDevice) (err error)

func (*IMMDeviceEnumerator) VTable

type IMMDeviceEnumeratorVtbl

type IMMDeviceEnumeratorVtbl struct {
	ole.IUnknownVtbl
	EnumAudioEndpoints                     uintptr
	GetDefaultAudioEndpoint                uintptr
	GetDevice                              uintptr
	RegisterEndpointNotificationCallback   uintptr
	UnregisterEndpointNotificationCallback uintptr
}

type IMMDeviceVtbl

type IMMDeviceVtbl struct {
	ole.IUnknownVtbl
	Activate          uintptr
	OpenPropertyStore uintptr
	GetId             uintptr
	GetState          uintptr
}

type IPart

type IPart struct {
	ole.IUnknown
}

func (*IPart) Activate

func (v *IPart) Activate(dwClsContext uint32, refiid *ole.GUID, ppvObject interface{}) (err error)

func (*IPart) EnumPartsIncoming

func (v *IPart) EnumPartsIncoming() (err error)

func (*IPart) EnumPartsOutgoing

func (v *IPart) EnumPartsOutgoing(ppParts **IPartsList) (err error)

func (*IPart) GetControlInterface

func (v *IPart) GetControlInterface() (err error)

func (*IPart) GetControlInterfaceCount

func (v *IPart) GetControlInterfaceCount() (err error)

func (*IPart) GetGlobalId

func (v *IPart) GetGlobalId() (err error)

func (*IPart) GetLocalId

func (v *IPart) GetLocalId(pnId *uint32) (err error)

func (*IPart) GetName

func (v *IPart) GetName(retVal *string) (err error)

func (*IPart) GetPartType

func (v *IPart) GetPartType(pPartType *PartType) (err error)

func (*IPart) GetSubType

func (v *IPart) GetSubType() (err error)

func (*IPart) GetTopologyObject

func (v *IPart) GetTopologyObject() (err error)

func (*IPart) RegisterControlChangeCallback

func (v *IPart) RegisterControlChangeCallback() (err error)

func (*IPart) UnregisterControlChangeCallback

func (v *IPart) UnregisterControlChangeCallback() (err error)

func (*IPart) VTable

func (v *IPart) VTable() *IPartVtbl

type IPartVtbl

type IPartVtbl struct {
	ole.IUnknownVtbl
	GetName                         uintptr
	GetLocalId                      uintptr
	GetGlobalId                     uintptr
	GetPartType                     uintptr
	GetSubType                      uintptr
	GetControlInterfaceCount        uintptr
	GetControlInterface             uintptr
	EnumPartsIncoming               uintptr
	EnumPartsOutgoing               uintptr
	GetTopologyObject               uintptr
	Activate                        uintptr
	RegisterControlChangeCallback   uintptr
	UnregisterControlChangeCallback uintptr
}

type IPartsList

type IPartsList struct {
	ole.IUnknown
}

func (*IPartsList) GetCount

func (v *IPartsList) GetCount(pCount *uint32) (err error)

func (*IPartsList) GetPart

func (v *IPartsList) GetPart(nIndex uint32, ppPart **IPart) (err error)

func (*IPartsList) VTable

func (v *IPartsList) VTable() *IPartsListVtbl

type IPartsListVtbl

type IPartsListVtbl struct {
	ole.IUnknownVtbl
	GetCount uintptr
	GetPart  uintptr
}

type ISimpleAudioVolume

type ISimpleAudioVolume struct {
	ole.IUnknown
}

func (*ISimpleAudioVolume) GetMasterVolume

func (v *ISimpleAudioVolume) GetMasterVolume(pfLevel *float32) (err error)

func (*ISimpleAudioVolume) GetMute

func (v *ISimpleAudioVolume) GetMute(pbMute *bool) (err error)

func (*ISimpleAudioVolume) SetMasterVolume

func (v *ISimpleAudioVolume) SetMasterVolume(fLevel float32, EventContext *ole.GUID) (err error)

func (*ISimpleAudioVolume) SetMute

func (v *ISimpleAudioVolume) SetMute(bMute bool, EventContext *ole.GUID) (err error)

func (*ISimpleAudioVolume) VTable

type ISimpleAudioVolumeVtbl

type ISimpleAudioVolumeVtbl struct {
	ole.IUnknownVtbl
	SetMasterVolume uintptr
	GetMasterVolume uintptr
	SetMute         uintptr
	GetMute         uintptr
}

type PartType

type PartType uint64
const (
	Connector PartType = iota
	Subunit
)

type REFERENCE_TIME

type REFERENCE_TIME int64

type WAVEFORMATEX

type WAVEFORMATEX struct {
	WFormatTag      uint16
	NChannels       uint16
	NSamplesPerSec  uint32
	NAvgBytesPerSec uint32
	NBlockAlign     uint16
	WBitsPerSample  uint16
	CbSize          uint16
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL