/dev/dspが存在する場合、なぜほとんどのアプリケーションがOSSを使用しようとするのですか?

/dev/dspが存在する場合、なぜほとんどのアプリケーションがOSSを使用しようとするのですか?

/dev/dspそれでは、高度なオーディオサーバー(ALSAまたはPulseAudio)を使用できるシステムにOSSがある場合、ほとんどのアプリケーションがOSSを使用しようとするのはなぜですか。

oss-compatDebian Wheezyにインストールした後にこの問題が発生しました。たとえば、次のアプリケーションは、使用可能な他のアプリケーションに関係なく、OSSの使用を開始するようです。

  • プレイヤー
  • SDL(Battle for WesnothなどのSDLライブラリを使用するすべて)
  • mpg321
  • オーガー 123
  • (サードパーティ)Firefox用(サ​​ードパーティ)フラッシュプラグイン

これを試した理由は、質問とあまり関係がありませんが、確認してください。ここ興味があれば。

私にとっては、アプリケーション(これらのソリューションを使用できます)が最初により高いレベルのオーディオソリューションを検索し、ソリューションが見つからない/dev/dsp場合にのみOSS()にアクセスしようとする方が論理的です。

答え1

アプリケーションが先進的なオーディオソリューションを最初にナビゲートする方がより論理的なようです。

私はこれが実際にALSA APIを使用していくつかのタスクを実行することに大きな利点があると思います。 これがあなたが始める場所です準備されたPCMストリームのみを再生します。

今Wikipediaから引用します。オープンソースソフトウェアAPI:

APIは、特別なデバイスと組み合わせて、従来のUnixフレームワークであるopen()、read()、write()、およびioctl()を使用するように設計されています。たとえば、サウンドの入力と出力の基本デバイスは/ dev / dspです。シェルを使用した例:

   cat /dev/urandom > /dev/dsp # plays white noise through the speaker
   cat /dev/dsp > a.a # reads data from the microphone and copies it to file a.a

より進化したもの、より複雑なもの、または単純で完璧なもののどれから始めますか?何をしたいかによって異なりますが、ほとんどのアプリケーションがいくつかのpcmを出力したいと仮定すると、書き込みは問題ありません/dev/dsp

[また、純粋なPCMと仮定します。できる/dev/dsp(そうでない場合は何ですか?)直接フィードを提供しますが、私はスマートで、ここにあるすべてのコンピュータにカスタムカーネルがあり、OSSサポートがないためテストできません!今後は態度が変わることもあります。 ]

関連情報