PCMデータの音声パケットをあるノードから別のノードに送信するアプリケーションがあります。プログラムは、起動時にwavファイルも再生します。 wavファイルは聞こえますが、音声が聞こえません。 asound.confファイルに以下を追加しました。
pcm.playmix {
type softvol
slave {
pcm "hw:0,0"
}
control.name "SpeakerVolume"
control.card 0
}
pcm.writeFile {
type file
slave {
pcm playmix # Now write to the actual sound card
}
file "/tmp/output.raw"
format "raw"
}
pcm.dsp0 {
type plug
slave.pcm "writeFile"
}
Audacityを使用してoutput.rawファイルを確認します。起動wavファイルとLANからのPCMオーディオの両方が存在します。しかし、LANトラフィックである受信側のコンピューターのスピーカーで音声が聞こえません。私は現在、次に何をすべきかについて行き詰まっています。データがカーネルに転送されてデバイスで再生されている間に、output.rawファイルは保存されますか? aplayを使用すると、選択したwavファイルが再生されます。私が見逃している唯一のオーディオは、LANのもう一方の端からのPCMです。
任意の提案をいただければ幸いです。
EMB-2610の増幅スピーカーポートのハードウェアを作成した人々は、左チャンネルにのみ配線されていることがわかりました。事前に録音したwavファイルはステレオだったので、何かを聞いています。次のALSA構成を作成して、両方のチャネルを結合しました。
pcm.mixed {
type dmix
ipc_key 9752933 #must be unique for all dsnoop plugins
ipc_key_add_uid yes
slave.pcm "hw:1" # or whatever
}
pcm.channel1 {
type route
slave {
pcm mixed
channels 2
}
ttable [ [ 1 0 ] ]
}
pcm.channel2 {
type route
slave {
pcm mixed
channels 2
}
ttable [ [ 0 1 ] ]
}
pcm.channel1_softvol {
type softvol
slave.pcm channel1
control.name "Channel 1 Capture Volume"
}
pcm.channel2_softvol {
type softvol
slave.pcm channel2
control.name "Channel 2 Capture Volume"
}
pcm.mixed_with_volumes {
type multi
slaves {
a { pcm channel1_softvol channels 1 }
b { pcm channel2_softvol channels 1 }
}
bindings [
{ slave a channel 0 }
{ slave b channel 0 }
]
}
pcm.dsp0 {
type plug
slave.pcm mixed_with_volumes
ttable [ [ 1.0 1.0 ] ]
}
私はグーグル検索を使用してこれを見つけました、そして誰かが1つのストリームへの入力に接続しようとしていました。 ipc_keyは一意の番号である必要があります。