Linuxの教科書を読んでいますが、デバイスについて教えてください。適切な出力を送ると/dev/dsp
音が再生されるそうです。たとえば、cat file.wav > /dev/dsp
file.wav は任意の .wav ファイルです。
これは私の許可を拒否します。 sudoで実行してもまだ拒否されます。先に行くとsu
音が出ません。
私の許可が拒否されたのはなぜですかsudo
?使用するのになぜ音が出ないのですかsu
?
答え1
/dev/dsp
これは長い間Linuxカーネルの一部ではなかったOSSの一部です。長い間、他のデバイス、異なるプログラム、異なるAPIを使用するALSAに置き換えられました。
しかし、シミュレーションレイヤモジュールがあります。可能であれば、このモジュールをロードすると、OSSを含むsnd-pcm-oss
PCMデバイスを使用できます。/dev/dsp
または、単にデータをまたはaplay
に転送するように主張してくださいpaplay
。
答え2
sudoで実行してもまだ拒否されます。
この文を使用すると、次のようなコマンドを試しているように聞こえます。
sudo cat file.wav > /dev/dsp
「許可拒否」というメッセージが表示され続ける理由は、シェルが最初/dev/dsp
出力用にデバイスを開いてみてください。今後コマンド(例sudo
:)を実行します。シェルがroot権限でリダイレクトを開くようにするには、次の手順を実行する必要があります。
sudo sh -c 'cat file.wav > /dev/dsp'
答え3
述べたように、古い本です。
したがって、これらの例をより現代的なLinuxで動作させるには、次のように言う必要があります。
cat music.wav > /dev/dsp
次に変更してください。
cat music.wav | aplay
# or
aplay music.wav