Firefox'a başka bir ALSA cihazı kullanmasını nasıl söyleyebilirim?


13

Yerleşik bir ses kartım ve ayrıca bağlı bir bluetooth kulaklığım var. Bluetooth cihazını yapılandırdım /etc/asound.conf:

# cat /etc/asound.conf

pcm.bluetooth {
    type bluetooth
    device 12:34:56:78:9a:bc
    profile "auto"
}

ctl.bluetooth {
    type bluetooth
}

Varsayılan olarak, yerleşik kart tüm sesler için kullanılır (görünüşe göre, varsayılan yerleşik kartın asound.conf'da listelenmesine bile gerek yoktur)

Bir uygulamanın bluetooth alsa cihazımı kullanmasını istediğimde, bunu belirtmeliyim, örneğin:

mplayer -ao alsa:device=bluetooth file.mp3

Bu benim için iyi. Ancak tarayıcılarıma bluetooth alsa cihazını da kullanmalarını söylemenin bir yoluna ihtiyacım var.

Ben --alsa-output-devicekomut satırı seçeneğini kullanarak krom başlatmak için bir yol buldum :

chromium --alsa-output-device=bluetooth

Firefox'u başlatmak için benzer bir yola ihtiyacım var, ancak bulamadım.

Firefox'a her seferinde değişiklik yapmak zorunda kalmadan /etc/asound.confveya bluetooth alsa cihazımı kullanmasını nasıl söyleyebilirim ~/.asoundrc?

GÜNCELLEME:

@ Lgeorget'ın tavsiyelerini takip ettim ve /etc/asound.confşimdi şöyle görünüyor:

pcm.!default {
type plug
slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "hw:0,0"
    }
}

pcm.bluetooth {
    type bluetooth
    device 12:34:56:78:9a:bc
    profile "auto"
}

ctl.bluetooth {
    type bluetooth
}

Firefox'u kullanmaya başladığımda ALSAPCM=bluetooth firefox, bluetooth kulaklığımda ses alıyorum, ancak firefox% 100 CPU'da (4 çekirdeğimde) çalışıyor ve youtube videosu 10x hızında oynatılıyor (ve ses buna göre (bozuk). Firefox'u olmadan başlattığımda ALSAPCM=bluetooth, her şey yolunda ve varsayılan alsa cihazında ses çalıyor.


Vay be, 21 altın rozet ve sadece 28 temsilcisi olan bir kullanıcı! Bunu nasıl yaptın?
Dmitry Grigoryev

4
@Dmitry Grigoryev - Her şeyi ödüllere harcıyorum ...
Martin Vegter

Yanıtlar:


9

Görünüşe göre firefox için bir seçenek yok, ancak ALSA çıktısını ortam değişkenleri aracılığıyla değiştirebilirsiniz.

Örneğin şunu deneyin:

ALSA_PCM_CARD=bluetooth firefox

Alternatif olarak, bu işe yaramazsa, .asoundrc'niz için biraz komut dosyası oluşturmayı deneyin

pcm.!default {
type plug
slave.pcm {
        @func getenv
        vars [ ALSAPCM ]
        default "hw:hdmi"
    }
}

("hw: hdmi" yerine normal pcm'nizi koyun). Ardından, bir programın belirli bir PCM'yi kullanmasını istiyorsanız, şunu kullanın:

ALSAPCM=bluetooth firefox

Kaynaklar:


ilk yaklaşım işe yaramıyor. İkinci yaklaşımı denediğimde, bluetooth kulaklığımda ses alıyorum, ancak firefox% 100 CPU'da (4 çekirdeğimde) çalışıyor ve youtube videosu 10x hızında oynatılıyor. Ne olduğunu anlamıyorum. Firefox'u olmadan başlattığımda ALSAPCM=bluetooth, her şey yolunda ve ses varsayılan alsa cihazında çalıyor.
Martin Vegter

Farklı ALSA ortam değişkenleri vardır (Archlinux wiki bağlantısına bakın), belki başka bir tane çalışır. CPU problemine gerçekten şaşırdım, buna neyin sebep olabileceğini göremiyorum.
lgeorget

1
CPU yükü büyük olasılıkla video ve sesin 10x hızında oynatılıp akışa alınmasından kaynaklanır. Gizem neden ALSAPCM=bluetoothvideo hızını 10x olarak değiştiriyor.
Martin Vegter

@MartinVegter Piki'nin tanımını kopyaladım, varsayılan olarak bir wiki'den gönderdim, özel durumunuz için uygun olmayabilir. Özellikle "tip fiş" ve "köle" kısmı.
lgeorget

0

Bu böceğin enkarnasyonu gibi görünüyor . Önerilen bazı çözümler var , ancak Intel'e özgü gibi görünüyorlar.

Pulseaudio kullanmayı deneyin. Çalışırsa, ALSA programlarınızı aşağıdakilerle pulseaudio'ya yeniden yönlendirebilirsiniz asound.conf:

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

Bu değil bu moral eklemeyi deneyin rate 44100veya rate 48000hiç pcm.bluetootharamalarınızdan bölümünde asound.conf. Belki ALSA o zaman aklını başına alacaktır.

Html5 Youtube Video Speed ​​Controller'ı da deneyebilirsiniz , ancak yardımcı olacağından şüpheleniyorum.


teşekkürler, ama pulseaudio kullanan çözümlerle ilgilenmiyorum.
Martin Vegter

Afedersiniz. O halde bu rate parametresini deneyebilir misiniz?
Dmitry Grigoryev

oranı parametre (44100 ve 48000 olan her ikisi), aşağıdaki hata: ALSA lib audio/pcm_bluetooth.c:1449:(bluetooth_parse_config) Invalid type for rate. Bluetooth'un rateparametreyi desteklemediği anlaşılıyor.
Martin Vegter

0

Not: Mevcut Firefox sürümleri ~ / .asound.conf'u bilinmeyen nedenlerle yok sayıyor gibi görünüyor.

Pulseaudio kullanmıyorsanız (çoğu dağıtımın kurmasına rağmen, esas olarak alsa üzerinde gereksiz bir katmandır), o zaman çoğu durumda, sadece varsayılan ses çıkışını farklı bir tanesine seçmeniz gerekir.

Bu, .asound.confevinizde aşağıdakilerle yapılabilir :

pcm.!default {
    type hw
    card N
}

ctl.!default {
    type hw           
    card N
}

Değiştirin Nikincisinin (varsayılan) ilk ses kartı için küçük bir tamsayı, 0, 1 ile, vb.

!İçinde !defaultburada olumsuzluk değil! Daha önce (sistem çapında tanımlanmış) global alsa.conf'un geçersiz kılınmasıdır.

Daha zor yapılandırmaları okunabilir burada .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.