[詳解]
47 #include <mmdeviceapi.h>
66 if (in_pProps) in_pProps->GetValue(key, &
variant);
73 PropVariantInit(&other.variant);
90 PropVariantInit(&other.variant);
114 in_pDevice->OpenPropertyStore(STGM_READ, &
pProps);
121 other.pProps =
nullptr;
143 other.pProps =
nullptr;
174 other.pDevice =
nullptr;
203 other.pDevice =
nullptr;
247 LPWSTR pwszID =
NULL;
248 if (
pDevice->GetId(&pwszID) == S_OK)
252 szString[260 - 1] = 0;
255 CoTaskMemFree(pwszID);
277 Iterator(IMMDeviceCollection* in_pDevices, UINT in_i)
339 pEnumerator->EnumAudioEndpoints(eRender, DEVICE_STATEMASK_ALL, &
pDevices);
348 pEnumerator->EnumAudioEndpoints(eFlow, dwStateMask, &
pDevices);
358 other.pDevices =
nullptr;
384 other.pDevices =
nullptr;
422 __uuidof(MMDeviceEnumerator),
NULL,
423 CLSCTX_ALL, __uuidof(IMMDeviceEnumerator),
431 other.pEnumerator =
nullptr;
455 other.pEnumerator =
nullptr;
467 pEnumerator->GetDefaultAudioEndpoint(eRender, in_eRole, (IMMDevice**)&pDevice.
pDevice);
AkUInt32 GetDeviceID() const
Definition of data structures for AkAudioObject
virtual Device Item(AkUInt32 in_idx)=0
Returns the number of devices. This function can block.
DeviceProperty(const PROPERTYKEY &key, IPropertyStore *in_pProps)
DeviceCollection(IMMDeviceEnumerator *pEnumerator, EDataFlow eFlow, DWORD dwStateMask)
DeviceProperties(const DeviceProperties &other)=delete
DeviceEnumerator & operator=(const DeviceEnumerator &other)=delete
Iterator(IMMDeviceCollection *in_pDevices, UINT in_i)
void SetDevice(IMMDevice *in_pNew)
DeviceProperty GetProperty(const PROPERTYKEY &key)
virtual void Lock()=0
Gets item in_idx from the cache. Must be smaller than Count(). This function can block.
Device & operator=(const Device &other)
DeviceProperties & operator=(DeviceProperties &&other)
static const AkDeviceID AK_INVALID_DEVICE_ID
Invalid streaming device ID
DeviceCollection(const DeviceCollection &other)=delete
DeviceProperties GetProperties() const
interface IMMDevice * pDevice
Device(const Device &other)
DeviceCollection & operator=(DeviceCollection &&other)
DeviceCollection(DeviceCollection &&other)
DeviceProperties & operator=(const DeviceProperties &other)=delete
Interface to access the IMMDevice cache. This avoids driver accesses.
DeviceProperty(const DeviceProperty &other)=delete
Iterator operator+(AkUInt32 inc) const
DeviceEnumerator(DeviceEnumerator &&other)
interface IMMDeviceCollection * pDevices
interface IMMDeviceEnumerator * pEnumerator
Device & operator=(Device &&other)
virtual AkUInt32 Count()=0
interface IMMDeviceCollection * pDevices
bool operator!=(const Iterator &in_rOp) const
!= operator
DeviceProperty & operator=(const DeviceProperty &other)=delete
AkUInt32 operator-(Iterator const &rhs) const
DeviceEnumerator(const DeviceEnumerator &other)=delete
Iterator & operator++()
++ operator
DeviceProperties(IMMDevice *in_pDevice)
virtual void Unlock()=0
For thread safety. If you iterate through all the devices, lock the enumerator to avoid changes....
bool operator==(const Iterator &in_rOp) const
== operator
DeviceProperty(DeviceProperty &&other)
DeviceCollection(IMMDeviceEnumerator *pEnumerator)
uint32_t AkUInt32
Unsigned 32-bit integer
virtual Device FindDevice(AkUInt32 in_id)=0
For thread safety. See Lock()
Device & operator=(IMMDevice *pOther)
DeviceEnumerator & operator=(DeviceEnumerator &&other)
Device GetDefaultDevice(ERole in_eRole)
AkForceInline AkInt32 AkWideCharToChar(const wchar_t *in_pszUnicodeString, AkUInt32 in_uiOutBufferSize, char *io_pszAnsiString)
String conversion helper
DeviceCollection & operator=(const DeviceCollection &other)=delete
void CheckForDuplicateEntries()
Iterator & operator--()
– operator
static HashParams::HashType ComputeLowerCase(const char *in_pData)
DeviceProperty & operator=(DeviceProperty &&other)
DeviceProperties(DeviceProperties &&other)
あなたのプロジェクトについて教えてください。ご不明な点はありませんか。
プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。
Wwiseからはじめよう