Генерация звука с помощью sndPlaySound

Тема в разделе "WASM.AUDIO", создана пользователем Jaman, 4 авг 2005.

  1. Jaman

    Jaman New Member

    Публикаций:
    0
    Регистрация:
    11 дек 2004
    Сообщения:
    15
    Подскажите, как играть wav из памяти. Какии функции юзать, либы?

    Если у кого есть простейший исходник на эту тему.

    Или подскажите каркас проги
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    В первом параметре передаётся указатель на WAV в памяти, а во втором - флаг SND_MEMORY. Тут же всё описано.
     
  3. CyberDoom

    CyberDoom New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2005
    Сообщения:
    11
    includelib \masm32\lib\winmm.lib

    PlaySoundA PROTO :lol: WORD,:lol: WORD,:lol: WORD

    .data

    WaveName db "MYWave",0

    и собствено сама прц.:

    push 40005h ;SND_RESOURCE+SND_ASYNC

    push hInstance

    push OFFSET WaveName ;wave name in rc file

    call PlaySoundA

    ;незабуть написать в .rc файле

    MYWave WAVE "my.wav"
     
  4. CyberDoom

    CyberDoom New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2005
    Сообщения:
    11
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    CyberDoom

    Человек спрашивал про
    , а не из ресурсов. По крайней мере, на старых виндах между этими двумя понятиями были определённые различия.
     
  6. Jaman

    Jaman New Member

    Публикаций:
    0
    Регистрация:
    11 дек 2004
    Сообщения:
    15
    Я просто хотел сделать прогу, которая просто генерирует, непример, A*sin(b*t) и как нибудь воспроизводит. А может лучше воспользоваться DirectSound? Я так понял, что надо в буфер массив записать после вызова Lock

    Кстати, вопрос: в документации написанно, что при успешном завершении метода приложению необходимо в кратчайший срок занести в предоставленные участки буфера нужные звуковые данные, после чего вызвать метод Unlock.

    Так вот, что значит в "кратчайший срок" и как это сделать?
     
  7. CyberDoom

    CyberDoom New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2005
    Сообщения:
    11
    Это гиморрой