Προς το περιεχόμενο

multiple access /dev/dsp


miza

Προτεινόμενες αναρτήσεις

Όσο καιρό ασχολούμαι με το linux έχω το πρόβλημα ότι μονο ένα πρόγραμμα έχει την δυνατότητα να χρησιμοποιεί την έξοδο του ήχου.

Έψαξα λίγο και είδα ότι ο λόγος που συμβαίνει αυτό είναι ότι μονο ένας μπορεί να μιλάει με το /dev/dsp την φορα, οποτε οποιος τον πιάσει πρώτος τον χρησιμοποιεί και αν κάποιο άλλο πρόγραμμα θελήσει να το χρησιμοποιήσει δεν μπορεί μέχρι να τον ελευθερώσει το προηγούμενο.

Από ότι είδα αυτό λύνεται με κάτι που λέγεται dmixer η με το αν η κάρτα ήχου υποστηρίζει hardware mixing. Θα ήθελαν τις γνώσεις σας λοιπόν γιατί δεν κατάφερα να καταλάβω πως μπορώ να το φτιάξω.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι, είναι κάτι που λύνεται με το Dmix (ένα Plugin που έρχεται με την ALSA), ή με κάποιον μεσολαβητικό soundserver όπως ο Pulse Audio.

 

Σε μερικές κάρτες όπως την Creative Audigy LS με το chip ca0106 (μπορείς να δεις τι έχεις με την εντολή "lspci") δεν είναι δυνατό να χρησιμοποιήσεις το dmix και να παίζεις ταυτόχρονα δικάναλο ήχο σε περισσότερα από δύο ηχεία ("upmixing"), οπότε αναγκαστικά χρησιμοποιείς Pulse Audio, ο οποίος έχει το δικό του σετ μειονεκτημάτων (είναι ανώριμο software, έχει προβλήματα σταθερότητας και, αν δεν τύχει να λειτουργήσει αυτόματα, δεν είναι και τόσο εύκολο να παραμετροποιηθεί).

 

Υπάρχει και η ξεχωριστή λύση να μη χρησιμοποιήσεις καν ALSA, αλλά να βάλεις το OSS4. Τα πλεονεκτήματα του OSS4 είναι ότι δε θέλει παραμετροποιήση, κάνει αυτόματα upmixing και ορισμένοι drivers του είναι καλύτεροι απ' ό,τι της ALSA. Τα μειονεκτήματά του είναι ότι δεν υποστηρίζει πολυκάναλο ήχο (τουλάχιστον με τους drivers που έχω δοκιμάσει) και δεν υποστηρίζεται by default από τη διανομή, που σημαίνει ότι πρέπει να ακολουθήσεις μία διαδικασία για την απενεργοποίηση της ALSA και την εγκατάσταση του OSS4.

 

Anyway, αν είσαι τυχερός και σε καλύπτει το DMIX της ALSA, αρκεί να φτιάξεις ένα alsa configuration file, είτε στο /etc/asound.conf είτε στο ~/.asoundrc και να βάλεις μέσα κάποιες παραμέτρους:

 

http://alsa.opensrc.org/DmixPlugin

http://amarok.kde.org/wiki/Setting_up_Dmix_for_ALSA'>http://amarok.kde.org/wiki/Setting_up_Dmix_for_ALSA

http://wiki.archlinux.org/index.php/Allow_multiple_programs_to_play_sound_at_once#dmix_-_Alsa.27s_software_mixing_system

http://amarok.kde.org/wiki/Setting_up_Dmix_for_ALSA

 

Βέβαια υποτίθεται ότι το DMIX χρησιμοποιείται αυτόματα από την ALSA σε όσες κάρτες δεν υποστηρίζουν hardware mixing, αλλά σε κάποιες κάρτες για κάποιο λόγο δεν ισχύει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...