1

Ubuntu-MATE で実行されている raspberry-pi 3 でアプリをコーディングしています。SDL と SDL_Mixer を使用して code::blocks で C++ を使用して mp3 ファイルを再生しています (まだ SDL ライブラリの v1.2 を使用しています)。

SDL を初期化してもエラーは発生しませんが、次の行で SDL_Mixer を初期化すると:

Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 1, 1024)

-1 が返されるため、Mix_GetError() メソッドでエラー メッセージが表示され、「PulseAudio ストリームをセットアップできません」というメッセージが表示されます。

私は PulseAudio が何であるかを知らないので、いくつかの調査の結果、ネットワーク ストリーミング オーディオ ストリームに使用されていることがわかりました。lib の初期化時にこのモジュールが必要な理由と、それを回避する方法はありますか? アプリでネットワーク機能を使用するつもりはありません。

また、"sudo apt-get install pulseaudio"いくつかのライブラリが欠落していないことを確認するためにチェックしましたが、パケットマネージャーは最新の更新があることを示しているようです...

手がかりがあれば、本当に助かります!

ありがとう

4

1 に答える 1

1

私は最終的にそれを自分で解決しました...それはひどいタイプミスでした。周波数初期化パラメータに 44100 ではなく 444100 を書きました:/

すべてが正しくロードされるようになりました (SDLSDL_INIT_EVERYTHINGについては、質問された人に使用しただけです)。ところで、私は SDL_Mixer を使用するために SDL のみを使用しています。SDL_Mixer はスタンドアロンとして実行できないので、SDL にどのモジュールをロードして基本のみを初期化できますか?

また、今、私は興味があります: SDL_Mixer が PulseAudio を初期化する必要があるのはなぜですか?

ありがとう

于 2016-04-19T20:09:25.577 に答える