
alsamixer で奇妙な問題が発生しています。「USBStreamer」デバイスのチャンネル再マッピングを実行する asound.conf ファイルがあります。
pcm.usbSTR {
type hw
card USBStreamer
device 0
}
pcm.usbREMAP {
type plug
slave.pcm usbSTR
ttable.0.8 1
ttable.1.9 1
}
pcm.!default {
type plug
slave.pcm usbREMAP
}
ctl.!default {
type plug
slave.pcm usbREMAP
}
コマンドライン引数なしで上記の asound.conf ファイルを使用して alsamixer を実行すると、alsamixer はクラッシュし、あまり役に立たないエラー メッセージが表示されます。
ALSA lib dlmisc.c:254:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_ctl_plug.so
cannot open mixer: No such device or address
asound.conf ファイルを削除すると、alsamixer は正常に動作します。
残念ながら、mpd を動作させるにはチャネルの再マッピングが必要です。
チャンネルを再マッピングして alsamixer がクラッシュしないようにする方法はありますか?
参考までに: USBStreamer デバイスを指定すると、alsamixer は正常に動作します。残念ながら、mpd は alsamixer を呼び出すときにそれほど具体的ではないようです。
編集: asound.conf から ctl.!default ブロックを削除し、alsa を再起動すると、デバイスを指定しなくても alsamixer は正常に動作します。 . . mpd考えるALSA で再生されていますが、スピーカーから音が出ません。ctl.!default ブロックが重要な処理を行っていると思います。
また、speaker-testは動作しなくなりました。リソースがビジーであるとエラーが出ています。
speaker-test -c 10 -t sin -D plughw:USBStreamer
speaker-test 1.1.0
Playback device is plughw:USBStreamer
Stream parameters are 48000Hz, S16_LE, 10 channels
Sine wave rate is 440.0000Hz
Playback open error: -16,Device or resource busy
以下は/etc/mpd.confのaudio_outputの部分です。
audio_output {
type "alsa"
name "USB Streamer - LX521.4"
device "hw:USBStreamer,0"
}
これは私の問題とは関係ありませんが、asound.conf ファイルが少し見苦しいと感じました。ALSA 構成ファイルについての私の理解は初歩的ですが、これは上記 (ctl.!default の部分が削除されている) と同等だと思います。
pcm.!default {
type plug
slave.pcm {
type hw
card USBStreamer
device 0
}
ttable {
0.8 1
1.9 1
}
}
サウンド デバイスの amixer「シンプル コントロール」は次のとおりです。
amixer -D hw:USBStreamer scontrols
Simple mixer control 'Mic',0
Simple mixer control 'Mic',1
Simple mixer control 'USBStreamer Clock Selector',0
Simple mixer control 'USBStreamer Output',0
Simple mixer control 'USBStreamer Output',1
なるほど! おそらく mpd は ALSA を使用しているため、スピーカー テストを実行できないようです。
sudo fuser -v /dev/snd/*
[sudo] password for rybu:
USER PID ACCESS COMMAND
/dev/snd/controlC0: mpd 935 F.... mpd
/dev/snd/pcmC1D0p: mpd 935 F...m mpd
mpd がフリーズしているようです。mpc へのリクエストは永遠にかかり、次のようなエラー メッセージが表示されます。
mpc
mpd error: Timeout
しばらく mpd を停止する必要があります。 . . できるかどうか確認してみましょう。 「sudo service mpd stop」でうまくいくと思います。 この要求には長い時間がかかります。 . . よし、speaker-test が再び動作するようになりました。
しかし、mplayer は動作しません:
[AO_ALSA] alsa-lib: pcm.c:2135:(snd_pcm_open_conf) type is not defined
[AO_ALSA] Playback open error: No such file or directory
Failed to initialize audio driver 'alsa'
[AO SDL] Samplerate: 44100Hz Channels: Stereo Format s16le
[AO SDL] using aalib audio driver.
[AO SDL] Unable to open audio:
Failed to initialize audio driver 'sdl:aalib'
Could not open/initialize audio device -> no sound.
Audio: no sound
さて、mplayer 引数「ao=alsa:device=default」でこれを修正しました。これにより、asound.conf で再マップされたデフォルト デバイスを使用するように指示されます。
次はmpd。進歩していて気持ちがいいです。
チャンネルの再マッピングが行われるように、mpd をデフォルトの ALSA デバイス (hw:USBStreamer ではない) を使用するように設定しました。mpd を再起動すると、再び完全に動作します。
ありがとう、問題は解決しました。