ALSA:2つのオーディオデバイスにオーディオを送信する

ALSA:2つのオーディオデバイスにオーディオを送信する

私のラップトップにはオンボードサウンドカードがあり、Bluetoothヘッドセットが接続されています。次の場所でBluetoothデバイスを設定しました/etc/asound.conf

# cat /etc/asound.conf

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

ctl.bluetooth {
    type bluetooth
}

これで、新しいオーディオデバイスを指定してヘッドフォンでオーディオを再生できるようになりました。たとえば、次のようになります。

mplayer -ao alsa:device=bluetooth file.mp3

プライマリデバイスでプレイするには、そのデバイスを無視するだけです。

mplayer file.mp3

ただし、各アプリケーションに対してこの設定を明示的に設定しなくても、デフォルトですべてのサウンドが両方のデバイスに送信されるようにALSAを設定する必要があります。

つまり:

mplayer file.mp3

ノートパソコンのサウンドカードとBluetoothヘッドフォンで再生する必要があります。

どうすればいいですか?

ベストアンサー1

これは一つの方法です~/.asoundrc;基本PCMで使用されるオンボードおよびSoundblaster Liveカードを示す例。

# duplicate audio to both devices
pcm.!default plug:both

ctl.!default {
  type hw
  card SB
}

pcm.both {
  type route;
  slave.pcm {
      type multi;
      slaves.a.pcm "sblive";
      slaves.b.pcm "onboard";
      slaves.a.channels 2;
      slaves.b.channels 4;
      bindings.0.slave a;
      bindings.0.channel 0;
      bindings.1.slave a;
      bindings.1.channel 1;

      bindings.2.slave b;
      bindings.2.channel 0;
      bindings.3.slave b;
      bindings.3.channel 1;
      bindings.4.slave b;
      bindings.4.channel 2;
      bindings.5.slave b;
      bindings.5.channel 3;
  }

  ttable.0.0 1;
  ttable.1.1 1;

  ttable.0.2 1; # front left
  ttable.1.3 1; # front right
  ttable.0.4 1; # copy front left to rear left
  ttable.1.5 1; # copy front right to rear right
}

ctl.both {
  type hw;
  card Live;
}

pcm.onboard {
   type dmix
   ipc_key 1024
   slave {
       pcm "hw:0,1"
       period_time 0
       period_size 2048
       buffer_size 65536
       buffer_time 0
       periods 128
       rate 48000
       channels 4
    }
    bindings {
       0 0
       1 1
       2 2
       3 3
    }
}

pcm.sblive {
   type dmix
   ipc_key 2048
   slave {
       pcm "hw:1,0"
       period_time 0
       period_size 2048
       buffer_size 65536
       buffer_time 0
       periods 128
       rate 48000
       channels 2
    }
    bindings {
       0 0
       1 1
    }
}

ctl.onboard {
   type hw
   card "SB"
}

ctl.sblive {
   type hw
   card "Live"
}

源泉)

おすすめ記事