なぜPortAudioは、他のオーディオプログラムとうまく再生されないか、どのように私はそれを得ることができますか?

StackOverflow https://stackoverflow.com/questions/2351884

  •  23-09-2019
  •  | 
  •  

質問

私はPortAudioを使用してオーディオアプリケーションを作成しようとしていますが、他のオーディオプログラム(通常はFirefoxは)私は私のプログラムを実行しようと、その時点で実行している場合、私は次のエラーを取得:

PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
An error occured while using the portaudio stream
Error number: -10000
Error message: Host error.
別のプログラムが音を使用している場合、それは動作しませんので、

は明らかに、これは私のプログラムはかなり役に立たないことができます。これを回避する方法はありますか私はちょうどPortAudioを使うべきではないのですか?

役に立ちましたか?

解決

あなたは、今日の最大のLinuxディストリビューション上でサウンドカードを共有するために使用サウンドサーバでPulseAudioは、との仕事にPortAudioための「パルス」という名前のデバイスを選択する必要があります。エラーメッセージは、使用しようとしていることを示唆しているOSSの/ dev / dspのインターフェイス、すべてのカードの共有をサポートしていない。

あなたがデバイスを一覧表示するために、このようなコードを使用することができます:

for (int i = 0, end = Pa_GetDeviceCount(); i != end; ++i) {
    PaDeviceInfo const* info = Pa_GetDeviceInfo(i);
    if (!info) continue;
    printf("%d: %s\n", i, info->name);
}

次に、ストリームパラメータ内OpenStreamに正しい番号を供給する。

あなたはPortAudioのV19が必要であることに注意してください。古いV18はOSSをサポートします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top