PlaySound - nieprawidłowe działania

Odpowiedz Nowy wątek
2015-08-21 15:09
drxxx
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.

Pozostało 580 znaków

2015-08-21 20:35
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);

Pozostało 580 znaków

2015-08-21 21:06
drxxx
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.

edytowany 1x, ostatnio: furious programming, 2016-12-13 18:26

Pozostało 580 znaków

2015-08-22 11:28
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.

edytowany 1x, ostatnio: Azarien, 2015-08-22 11:29

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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