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.