Rozważam stworzenie aplikacji, która będzie wymagać transmisji strumieniowej audio na żywo. Wolałbym korzystać z biblioteki Open Source opartej na wielu platformach (Windows/Linux/BSD) napisanej w języku C lub C++, chociaż pisanie jej przy użyciu interfejsów dźwiękowych odpowiednich systemów operacyjnych nadal jest opcją.platforma dźwięku z interfejsem API
Czytałem trochę o różnych bibliotekach dźwięku, w tym SFML, SDL i PortAudio. Prawdą jest, że nie zostały jeszcze zbadane wystarczająco o dźwięku w FreeBSD i Linux (jak podobne jest to pomiędzy tymi 2?)
głównych wymagań będzie
- uzyskać dźwięk z wybranego mikrofonu/mikrofonów wysłać na sieć,
- wysyła dane do wybranych urządzeń wyjściowych,
- przetwarza dźwięk (filtrowanie, czyszczenie szumów, strumienie multipleksów itp.), ale można to zrobić, gdy już mam dane audio, sama biblioteka NIE potrzebuje aby móc to zrobić.
- mają dość niską latencję
Moim głównym problemem jest to, że te wymienione API wydają się być skierowane głównie do gier (gdzie dźwięk jest zazwyczaj ładowane z dysku i nie ma zbyt wiele, jeśli w ogóle, nagrywanie dźwięku zaangażowany zamiast przesyłane strumieniowo przez sieć z równą wagą między nagrywaniem a odtwarzaniem. Czy ktoś ma jakieś wskazówki/ostrzeżenia/sugestie dotyczące tych lub innych interfejsów dźwiękowych API lub o zaletach/wadach długiej drogi i implementacji tego w odpowiednich systemach operacyjnych? Interfejsy API?
UWAGA: , a jednocześnie: "Pytania z prośbą o zalecenie lub znalezienie książki, narzędzia, biblioteki oprogramowania, samouczka lub innych zasobów poza terenem serwisu są nie na temat" Przepełnienia stosu ". Czynią to pytanie nietypowym, gdy się również bierze pod uwagę" ponieważ mają tendencję do przyciągania upartych odpowiedzi i spamu "wtedy nie sądzę, aby to pytanie zostało zamknięte. Ktoś, kto szuka takiej biblioteki, jak to opisano, będzie miał trudności ze znalezieniem czegokolwiek, a odpowiedzi na to pytanie w praktyce podsumowują wszystkie dostępne opcje. Dzieje się tak dlatego, że "ogólnie obejmuje ... narzędzia programowe powszechnie używane przez programistów;" kategoria przyjętych odpowiedzi.
Czy obejrzałeś Pulseaudio? –
Pisanie dla PulseAudio wydaje się uzasadnione tylko wtedy, gdy pisze się specjalnie dla dystrybucji LINUX, które już ją skonfigurowały. – msam