1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Вопрос по Mci

Тема в разделе "С и С++", создана пользователем mibin, 29 янв 2009.

  1. mibin

    mibin Well-Known Member

    Репутация:
    0
    Регистрация:
    29 янв 2009
    Сообщения:
    48
    Симпатии:
    0
    Только начал изучать MCI и практически сразу появилось несколько вопросов...
    Для изучения MCI пользуюсь книгой "Обработка звука на PC" автор Н. Секунов

    Для вывода звука использовал этот пример:

    //---------------------------------------------------------------------------------------

    DWORD playWAVEFile(HWND hWndNotify, LPCWSTR lpszWAVEFileName)
    {
    UINT wDeviceID;
    DWORD dwReturn;
    MCI_OPEN_PARMS mciOpenParms;
    MCI_PLAY_PARMS mciPlayParms;

    // Open the device by specifying the device and filename.
    // MCI will choose a device capable of playing the specified file.

    mciOpenParms.lpstrDeviceType = L"waveaudio";
    mciOpenParms.lpstrElementName = lpszWAVEFileName;
    if (dwReturn = mciSendCommand(0, MCI_OPEN,
    MCI_OPEN_TYPE | MCI_OPEN_ELEMENT,
    (DWORD)(LPVOID) &mciOpenParms))
    {
    // Failed to open device. Don't close it; just return error.
    ShowError(dwResult);
    }

    // The device opened successfully; get the device ID.
    wDeviceID = mciOpenParms.wDeviceID;

    // Begin playback. The window procedure function for the parent
    // window will be notified with an MM_MCINOTIFY message when
    // playback is complete. At this time, the window procedure closes
    // the device.

    mciPlayParms.dwCallback = (DWORD) hWndNotify;
    if (dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_NOTIFY,
    (DWORD)(LPVOID) &mciPlayParms))
    {
    ShowError(dwResult);
    }

    return (0L);
    }

    //---------------------------------------------------------------------------------------

    но результатом выполнения программы было выдача ошибки - "Используемое устройство MCI не поддерживает указанную команду".
    Что я делаю не так, объясните, пожалуйста.
    И еще один вопрос. В заголовке функции определена такая переменная - hWndNotify. Мне при вызове функции просто написть вместо нее NULL или ее необходимо как-то найти?

    Все, спасибо, разобрался :) сам дурак оказался :)
     
Загрузка...

Поделиться этой страницей