Фоновое проигрование Wav

  • Автор темы PavKo
  • Дата начала
P

PavKo

#1
Подскажите, пожалуйста, как можно реализовать проигрывание WAV файла в фоновом режиме.

И еще необходимо, что-бы проигрывание можно было остановить в любой момент.
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#2
Чтобы проиграть WAV-файл следует воспользоваться стандартной функцией Windows API sndPlaySound, которая находится в системной DLL-библиотеке WINMM.DLL
Что бы это сделать фоном - делайте это в отдельном потоке
 
P

PavKo

#3
Нашел другой выход, функция:

C++:
 mciSendString("play 3.wav", NULL, 0, NULL);
И для останова проигрывания:

C++:
 mciSendString("stop 3.wav", NULL, 0, NULL);
Из за этой функции программа не зависает.

Вот только один вопрос, можно ли выбрать звуковую карту для проигрывания?
 

DarkKnight

Well-known member
01.08.2010
653
0
#4
Такой функцией скорее всего нет.. Она у тебя в дефолт-саунд всегда будет кидать, так же как и звуки винды....
Если хочешь гибкости посмотри DirectX - DirectSound, так очень хорошая библиотека для работы с wav-файлами.... И простая в понимании....
 
P

PavKo

#5
Такой функцией скорее всего нет.. Она у тебя в дефолт-саунд всегда будет кидать, так же как и звуки винды....
Если хочешь гибкости посмотри DirectX - DirectSound, так очень хорошая библиотека для работы с wav-файлами.... И простая в понимании....
А у вас нет нормального примера использования DirectSound. В интернете нашел только пример подключения и инициализации библиотеки.

C++:
#pragma comment(lib, "dsound.lib")
#include "dSound.h"

.......

LPDIRECTSOUND *pSound=NULL;
DirectSoundCreate(NULL,pSound,NULL);