Tak więc w systemie Windows można użyć funkcji PlaySound
do odtwarzania pliku MP3 w aplikacji C++. Jakie funkcje będą dostępne w Mac OS X/Linux? Byłbym wdzięczny, gdyby można było połączyć się z przykładowymi programami typu Hello-World demonstrującymi to.Odtwarzanie dźwięku w C++ za pomocą rodzimych wywołań systemowych?
Odpowiedz
Możesz po prostu open("/dev/dsp")
i napisz do niego. Uważam, że jest to "rodzima syscall", jak można uzyskać.
Nie jestem pewien, czy/dev/dsp jest dostępny na Macu (domyślnie co najmniej) – NothingMore
Czy możesz dać mi przykład pracy? Nie wiem, jak to zrobić. –
Cóż, nie jestem pewien, czy obecne komputery stacjonarne mają jakieś bardziej zaawansowane usługi/bibliotek, które odtwarzać pliki audio, ale jeśli naprawdę chcesz zrobić jakieś wyjście audio niskopoziomowe OS, zacząć szukać here. Może to trochę za niski poziom dla twoich potrzeb.
Dotyczy audio: Linux! = Mac, więc odpowiem osobno na oba te pytania.
MacOS wykorzystuje framework core audio dla niskiego poziomu audio. W oparciu o to istnieje kilka interfejsów API wyższego poziomu. Jeśli chcesz po prostu odtworzyć plik dźwiękowy, najprawdopodobniej jest to droga AV Foundation Framework. Here znajduje się przykład do zbudowania prostej aplikacji dla systemu iOS, którą można łatwo przenieść do systemu MacOS.
Dla systemu Linux cała sytuacja jest dość delikatna. Istnieje wiele różnych struktur i bibliotek i bardzo niejasne jest to, co niskie, a które na wysokim poziomie, ponieważ niektóre z nich naśladują pozostałe. Zasadniczo istnieje ALSA i OSS dla dźwięku niskiego poziomu. Obaj są bzdurami. Jack ma na celu stworzenie ram dla profesjonalnego audio, ale nie jest bardzo przenośny (przynajmniej jeśli interesują Cię urządzenia wbudowane). Większość systemów operacyjnych Linux używa obecnie PulseAudio jako swojego serwera audio, który ma również prosty interfejs API do odtwarzania pojedynczego dźwięku i bardzo trudny interfejs API dla plików o niskim poziomie. A potem jest biblioteka Gstreamer, która jest raczej przenośna i ma interfejs API w połowie drogi i jest specjalnie zaprojektowana do odtwarzania plików wideo i strumieni audio, a więc prawdopodobnie do wyjścia na Linuksa.
ja osobiście polecam użyć PortAudio, który jest biblioteką, która zapewnia - jak sama nazwa wskazuje - frameworkiem audio, który jest przenośny w kilku systemach operacyjnych i audio frameworks. PortAudio jest również dobrze zaprojektowany i ma prosty, ale elastyczny interfejs API.
- 1. Odtwarzanie dźwięku za pomocą formantów w iOS
- 2. Android: Odtwarzanie dźwięku zasobu za pomocą WebView
- 3. Odtwarzanie dźwięku w .Net/C#
- 4. odtwarzanie dźwięków systemowych w iOS
- 5. Odtwarzanie dźwięku w Apple Watchkit
- 6. Odtwarzanie dźwięku na iPadzie
- 7. Odtwarzanie dźwięku podczas kompilowania
- 8. Wyłączyć odtwarzanie dźwięku w AVPlayer?
- 9. Odtwarzanie lokalnego dźwięku w phonegap
- 10. Odtwarzanie dźwięku w notatniku ipython
- 11. Tworzenie nowych wywołań systemowych za pośrednictwem KLD w FreeBSD
- 12. Nagrywanie dźwięku za pomocą OpenAL
- 13. Wykonywanie wywołań systemowych mount z perl
- 14. Jednoczesne nagrywanie i odtwarzanie dźwięku
- 15. Odtwarzanie dźwięku wav jako wyjścia
- 16. Odtwarzanie dźwięku w dodatku do przeglądarki Firefox
- 17. Budowanie rodzimych aplikacji Windows za pomocą HTML
- 18. Nagrywanie dźwięku i odtwarzanie zmodulowanego dźwięku w systemie Android?
- 19. Odtwarzanie (i odtwarzanie) dźwięku w telefonie komórkowym Safari
- 20. Jak zabronić wywołań systemowych, GNU/Linux
- 21. debian strony man dla wywołań systemowych
- 22. Odtwarzanie dźwięku z AVAudioPCMBuffer z AVAudioEngine
- 23. Odtwarzanie dźwięku z mikrofonu w czasie rzeczywistym
- 24. Odtwarzanie dźwięku z ciągłego strumienia danych (iOS)
- 25. Wstrzymano dźwięku rozpoczyna odtwarzanie automatycznie applicationWillEnterForeground:
- 26. Odtwarzanie dźwięku przez górny głośnik (telefon)
- 27. Jak wykrywać, kiedy kończy się odtwarzanie dźwięku?
- 28. Implementacja wywołań systemowych/pułapek w jądrze Linuksa źródło
- 29. Gdzie jest tabela wywołań systemowych w jądrze Linux?
- 30. Kontynuuj odtwarzanie dźwięku z odtwarzacza html5 w trybie tła iOS.
Powinieneś rozważyć użycie OpenAL do obsługi cross/sound/muzyki. – rasmus