Chcę uruchomić program Linux, który wymaga karty dźwiękowej, na serwerze, który nie ma karty dźwiękowej. Czy można stworzyć fałszywą kartę dźwiękową? Nie jestem całkowicie świadomy wewnętrznych elementów systemu dźwiękowego Linux. Proszę skieruj mnie we właściwym kierunku.
Podążyłem za tym przykładem: http://alsa.opensrc.org/.asoundrc, ale się nie udało.
PS: Istnieje podobne pytanie: jak stworzyć wirtualne urządzenie dźwiękowe w systemie Linux? . Ale jest to zupełnie inne w kontekście, że użytkownik tworzy alias do już dostępnej karty dźwiękowej.
Edycja:
Chcę, aby w / dev / .. zostało utworzone urządzenie zastępcze, aby każda aplikacja potrzebująca urządzenia dźwiękowego je znalazła.
Jestem całkowicie nieświadomy, jak działa alsa. Więc po prostu poszedłem za przykładem. Utworzyłem /etc/asound.conf z:
pcm.card0 {
type hw
card 0
}
ctl.card0 {
type hw
card 0
}
I aplay -L
daje mi:
null
Discard all samples (playback) or generate zero samples (capture)
Odpowiedzi:
Musisz załadować fałszywy sterownik dźwięku. Szczegółowe informacje można znaleźć na Wiki Alsa , ale oto podstawy:
Załaduj sterownik:
Posiadaj odpowiedni plik .asoundrc (masz go w zasięgu)
Skonfiguruj automatyczne ładowanie sterowników. Dodaj to do
/etc/modules.conf
:W grę wchodzi naprawdę sporo rzeczy, sugeruję odwiedzić stronę Wiki powyżej w celu uzyskania bardziej szczegółowych wyjaśnień.
źródło
Ja również miałem z tym problemy, gdy próbowałem uzyskać urządzenie Dummy Sound działające na Raspberry Pi z Raspian (pochodną Debiana). Pi on ma wyjście audio, ale nie ma wejścia i chcę użyć aplikacji, która szuka obu, mimo że potrzebuję tylko wyjścia (PJSIP).
Jednak powyższe informacje nie działały dla mnie, podobnie jak strona WiKi. Po rozmowie z użytkownikiem z listy mailingowej ALSA zasugerowali, że informacje na stronie WikI są nieaktualne, jednak dali mi wskazówki, jak to rozwiązać.
Po pierwsze, muszę tylko załadować moduł „snd-dummy”, używając:
Jednak urządzenie nie pozostaje obecne po ponownym uruchomieniu. Na Pi ten moduł można załadować za pomocą pliku „/ etc / modules”, edytując ten plik, aby załadować sterownik, uzyskano pożądane wyniki:
Mój plik / etc / modules wygląda tak:
Tak więc domyślny sterownik ładuje się najpierw, a następnie sterownik Dummy ładuje się jako drugi. Zadanie wykonane!
Powodzenia
Chris
źródło
Używam go również dla Linphone na RaspberryPi, ponieważ wymaga urządzenia wejściowego, jednak musiałem dodać fake_buffer = 0 param, w przeciwnym razie atrapowe urządzenie przechwytujące dużo losowego hałasu, a to byłoby dziwne ... możesz to zrobić to jak:
źródło