Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

IDirectSoundNotify

Интерфейс IDirectSoundNotify предоставляет механизм отметки сообщений в буферах воспроизведения и записи аудио информации.

Для получения данного интерфейса вызывается метод QueryInterface для существующего объекта DirectSoundBuffer. Как и все другие интерфейсы COM, IDirectSoundNotify наследует методы интерфейса IUnknown.

В качестве указателя на интерфейс IDirectSoundNotify определён тип LPDIRECTSOUNDNOTIFY:

typedef struct IDirectSoundNotify *LPDIRECTSOUNDNOTIFY;

Описание данного интерфейса содержится в файле заголовка dsound.h. При работе с данным интерфейсом следует включить в проект библиотеку dsound.lib.

IDirectSoundNotify::SetNotificationPositions

HRESULT SetNotificationPositions( DWORD cPositionNotifies, LPCDSBPOSITIONNOTIFY lpcPositionNotifies );

Возвращаемое значение

В случае успешного завершения возвращает значение DS_OK. В противном случае возвращаемое значение может принимать одно из следующих значений:

  • DSERR_INVALIDPARAM — один или несколько аргументов метода имеют недопустимые значения.

  • DSERR_OUTOFMEMORY — недостаточно памяти для выполнения требуемой операции.

Аргументы

  1. cPositionNotifies — количество объектов структуры DSBPOSITIONNOTIFY.

  2. lpcPositionNotifies — указатель на массив объектов структуры DSBPOSITIONNOTIFY.

Примечание

Метод IDirectSoundNotify::SetNotificationPositions устанавливает позиции в аудио буфере о достижении которых извещается приложение.

Если в процессе записи или воспроизведения курсор достигает позиции, указанной в одном из объектов структуры DSBPOSITIONNOTIFY, переданных данной функции в составе массива, то событие, указанное в данном объекте структуры отмечается. При воспроизведении аудио информации отмечается текущая позиция воспроизведения, а при записи — текущая позиция чтения. Если в объекте структуры DSBPOSITIONNOTIFY в переменной dwOffset содержится значение DSBPN_OFFSETSTOP, то соответствующее событие отмечается при вызове одного из методов IDirectSoundBuffer::Stop или IDirectSoundCaptureBuffer::Stop, а также при достижении конца буфера при линейном воспроизведении (не в режиме кольца). Если используется данный объект структуры, то он должен располагаться в последней позиции передаваемого данному методу массива структур.

Перед вызовом данного метода должны быть прекращены воспроизведение и запись аудио информации в буфер.

IKsPropertySet

Интерфейс IKsPropertySet используется для получения информации о дополнительных возможностях аудио устройств и средствах доступа к этим возможностям.

Для получения доступа к этому интерфейсу вызывается метод QueryInterface в существующем объекте DirectSoundBuffer. Как и все другие интерфейсы COM, IKsPropertySet наследует методы интерфейса IUnknown.

В качестве указателя на интерфейс IKsPropertySet определён тип LPKSPROPERTYSET:

typedef struct IKsPropertySet *LPKSPROPERTYSET;

Описание данного интерфейса содержится в файле заголовка dsound.h. При работе с данным интерфейсом следует включить в проект библиотеку dsound.lib.

IKsPropertySet::Get

HRESULT Get( REFGUID PropertySetId, ULONG PropertyId, PVOID pPropertyParams, ULONG cbPropertyParams, PVOID pPropertyData, ULONG cbPropertyData, PULONG pcbReturnedData );

Возвращаемое значение

Определяется разработчиком набора свойств.

Аргументы

  1. PropertySetId — идентификатор набора свойств.

  2. PropertyId — идентификатор свойства в наборе.

  3. pPropertyParams — указатель на набор параметров данного свойства.

  4. cbPropertyParams — размер в байтах объекта структуры, на который указывает аргумент pPropertyParams.

  5. pPropertyData — указатель на буфер, в который будет записано значение данного свойства.

  6. cbPropertyData — размер в байтах объекта структуры, на который указывает аргумент pPropertyData.

  7. pcbReturnedData — объём информации в байтах, записанный по адресу pPropertyData.

Примечание

Метод IKsPropertySet::Get позволяет определить текущее значение указанного свойства. Это значение заносится в буфер, на который указывает аргумент pPropertyData.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]