Linuxでは、なぜ/ dev / dspを使用できないのですか?

Linuxでは、なぜ/ dev / dspを使用できないのですか?

Linuxの教科書を読んでいますが、デバイスについて教えてください。適切な出力を送ると/dev/dsp音が再生されるそうです。たとえば、cat file.wav > /dev/dspfile.wav は任意の .wav ファイルです。

これは私の許可を拒否します。 sudoで実行してもまだ拒否されます。先に行くとsu音が出ません。

私の許可が拒否されたのはなぜですかsudo?使用するのになぜ音が出ないのですかsu

答え1

/dev/dspこれは長い間Linuxカーネルの一部ではなかったOSSの一部です。長い間、他のデバイス、異なるプログラム、異なるAPIを使用するALSAに置き換えられました。

しかし、シミュレーションレイヤモジュールがあります。可能であれば、このモジュールをロードすると、OSSを含むsnd-pcm-ossPCMデバイスを使用できます。/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

関連情報