PlaySound - nieprawidłowe działania

0

Witam,
chciałbym odtworzyć jakoś szybko i sprawnie dźwięk wav (1 sekunda).
Próbowałem funkcją PlaySound i niestety nie odtwarza mi nic - słyszę tylko taki 'klik'. Wydaje mi się że X lat temu robiłem tak samo i działało (win xp?) - teraz jednak działam na win7.

Moje delphi to Xe5,
a funkcja wygląda mniej więcej tak:

PlaySound(PChar('t:\sounds\accident.wav'),0,snd_sync or snd_Filename or snd_Nostop);

Jakieś pomysły? na razie używam mediaplayera, ale wydaje mi się to nieoptymalnym podejściem.

0
drxxx napisał(a):
PlaySound(PChar('t:\sounds\accident.wav'),0,snd_sync or snd_Filename or snd_Nostop);

U mnie na Windows 8 działa (z moim plikiem wav). Może ten twój plik ma format (ilość bitów próbki, częstotliwość próbkowania) nieobsługiwany przez PlaySound lub plik nie istnieje (to raczej wykluczam), bo wtedy PlaySound odtwarza domyślny dźwięk systemowy, czyli u ciebie ten "klik". Z tego co pamiętam, to plik o nazwie 'accident.wav' jest oryginalnym plikiem dźwiękowym Windowsa, więc dziwne, że nie działa. Może spróbuj tak:

sndPlaySound('t:\sounds\accident.wav', SND_FILENAME or SND_ASYNC);
0

Witam, oczywiście nie chodziło o plik accident.wav.
Podstawiłem inny plik i ... działa. Czyli wina plików, które używam - nie spodziewałem się tego, ponieważ nie są to pliki uszkodzone i normalnie da się je odtworzyć jakimś playerem muzycznym.

0

PlaySound() jest bardzo ograniczone. Potrafi odtwarzać tylko nieskompresowane pliki .WAV
Tymczasem WAV to kontener, i może zawierać strumień skompresowany np. MP3.
Takiego ci PlaySound() nie odtworzy. Polecam DirectShow.

1 użytkowników online, w tym zalogowanych: 0, gości: 1