Siema. Jaką funkcją się odtworzyć dźwięk w WinAPI? Chodzi o muzykę w pliku np Mp3. Proszę o jakiś link do www ale po polsku.
https://www.google.pl/search?q=winapi+play+sound ...
http://msdn.microsoft.com/en-us/library/windows/desktop/dd743680%28v=vs.85%29.aspx - bez angielskiego dalego nie zajdziesz...
http://xion.org.pl/2009/07/31/playsound-bez-sciec/ - ale proszę, też pierwszy wynik w Google
Chodzi o muzykę w pliku np Mp3.
Np. mp3 czy może być wav? Bo odtworzenie mp3 jest z tego co pamiętam, trudniejsze
Wszystko jedno jakk format choć mp3 jest najlepszy. A jeśli chodzi o angielski to nie lubię po prostu czytać po angielsku poradników, bo mogę coś źle zrozumieć.
zawsze możesz użyć chrome do przetłumaczenia strony. Jak działa angielski techniczny -> polski techniczny tego nie wiem. Ale chiński bardzo fajnie tłumaczy :)
Jak dla mnie to z Mp3 jest mały problem - w końcu to "skompresowana muzyka". Zatem albo czytasz standard: http://tools.ietf.org/html/rfc5219 i piszesz wszystko sam albo wykorzystujesz jakąś bibliotekę w stylu LAME. Trudno przecież żeby WinApi dostarczało funkcji do obsługi wszystkich formatów muzyki/grafiki/video ot tak po prostu :)
Trudno przecież żeby WinApi dostarczało funkcji do obsługi wszystkich formatów muzyki/grafiki/video ot tak po prostu
I tak i nie. W ścisłym API Windows faktycznie tego nie ma, ale globalnie rejestrowane filtry DirectShow właśnie temu służą. A DirectX można w gruncie rzeczy uznać za podstawowy składnik systemu i jego API, API systemowym.
Odtworzenie dźwięku poprzez DirectX nie będzie o wiele trudniejsze niż bezpośrednio w WinAPI.
edit: na przykład za pomocą takiego kodu można odtworzyć dźwięk za pośrednictwem DirectX.
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
IGraphBuilder *pGraph;
IMediaControl *pMediaControl;
IMediaEvent *pEvent;
long evCode;
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, reinterpret_cast<LPVOID*>(&pGraph));
pGraph->QueryInterface(IID_IMediaControl, reinterpret_cast<LPVOID*>(&pMediaControl));
pGraph->QueryInterface(IID_IMediaEvent, reinterpret_cast<LPVOID*>(&pEvent));
pGraph->RenderFile(TEXT("sciezka do pliku"), NULL);
pMediaControl->Run();
pEvent->WaitForCompletion(INFINITE, &evCode);
CoUninitialize();
Użyje on "kodeków" dostępnych w systemie, aczkolwiek w przypadku MP3 takowe dostarczane są razem z systemem operacyjnym.