Программирование мультимедиа-систем - 57 стр.

UptoLike

Составители: 

- 57 -
Формат вызова функции waveOutUnprepareHeader приведен ниже
UINT
waveOutUnprepareHeader(HWAVEOUT hWaveOut,
LPWAVEHDR lpWaveOutHdr,
UINT wSize);
При нормальном завершении функция waveOutUnprepareHeader воз-
вращает нуль, в противном случае нижеуказанный код ошибки
Код ошибки Описание ошибки
MMSYSERR_INVALHANDLE
Указан неправильный идентификатор устройства
MMSYSERR_STILLPLAYING
Указанный блок все еще находится в очереди для
проигрывания
После завершения работы с устройством его необходимо закрыть, вы-
звав функцию
waveOutClose
UINT
waveOutClose(HWAVEOUT hWaveOut); // идентификатор устройства
При нормальном завершении функция waveOutClose возвращает
нуль, в противном случае нижеуказанный код ошибки
Код ошибки Описание ошибки
MMSYSERR_INVALHANDLE
Указан неправильный идентификатор устройства
MMSYSERR_STILLPLAYING
Очередь данного устройства еще содержит блоки
для проигрывания
3.6.5.
Запись звука
Процесс записи имеет много общего с процессом воспроизведения. В
начале необходимо открыть устройство записи, вызвав функцию
waveInOpen
UINT
waveInOpen(LPHWAVEIN lpWaveIn,
UINT wDeviceID,
LPWAVEFORMAT lpFormat,
DWORD dwCallback,
DWORD dwFlags);
Здесь lpWaveOut - дальний указатель на переменную типа
HWAVEIN. В эту переменную будет записан идентификатор устройства
                                   - 57 -


    Формат вызова функции waveOutUnprepareHeader приведен ниже

UINT
waveOutUnprepareHeader(HWAVEOUT hWaveOut,
                       LPWAVEHDR lpWaveOutHdr,
                       UINT wSize);

    При нормальном завершении функция waveOutUnprepareHeader воз-
вращает нуль, в противном случае нижеуказанный код ошибки

       Код ошибки                           Описание ошибки
MMSYSERR_INVALHANDLE         Указан неправильный идентификатор устройства
MMSYSERR_STILLPLAYING        Указанный блок все еще находится в очереди для
                             проигрывания

     После завершения работы с устройством его необходимо закрыть, вы-
звав функцию waveOutClose

UINT
waveOutClose(HWAVEOUT hWaveOut); // идентификатор устройства

    При нормальном завершении функция waveOutClose возвращает
нуль, в противном случае нижеуказанный код ошибки

       Код ошибки                           Описание ошибки
MMSYSERR_INVALHANDLE         Указан неправильный идентификатор устройства
MMSYSERR_STILLPLAYING        Очередь данного устройства еще содержит блоки
                             для проигрывания

  3.6.5.Запись звука

    Процесс записи имеет много общего с процессом воспроизведения. В
начале необходимо открыть устройство записи, вызвав функцию
waveInOpen

UINT
waveInOpen(LPHWAVEIN lpWaveIn,
           UINT wDeviceID,
           LPWAVEFORMAT lpFormat,
           DWORD dwCallback,
           DWORD dwFlags);

  Здесь lpWaveOut - дальний указатель на переменную типа
HWAVEIN. В эту переменную будет записан идентификатор устройства