2016-04-19 10 views
0

私はUbuntu-MATEで動作するラズベリー-pi 3でアプリケーションをコーディングしています。 私はSDLとSDL_Mixerでcode :: blocksにC++を使用してmp3ファイルを再生します(私はまだSDLライブラリのv1.2を使用しています)。SDL_Mixerを初期化すると「PulseAudioストリームを設定できません」というエラーメッセージが表示される

私はSDLを初期化するとき私はエラーを取得していないが、私はこの行でSDL_Mixerを初期化するとき:それは-1を返し

Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 1, 1024) 

ので、私はMix_GetError()メソッドを使用してエラーメッセージを取得し、それができます私は "PulseAudioストリームをセットアップできません"というメッセージを表示します。

私はPulseAudioが何であるか分かっていないので、いくつかの研究の後で、それがネットワークストリーミングオーディオストリームに使用されていると理解した。 libのinitでこのモジュールが必要な理由は何ですか?私は私のアプリでネットワーク機能を使用するつもりはありません。任意の手掛かりが本当に私をたくさん役立つだろう...

はまた、私はいくつかのLIBSに欠けていなかったことを確認する"sudo apt-get install pulseaudio"で確認が、私のパケットマネージャは、私は、最新の更新プログラムを持っていることを示していると思われます!

おかげ

+0

コードを投稿してください。その1行ではオーディオシステムを初期化するには不十分です – xaxxon

+0

@ G.Vernierは 'SDL_Init'のコードを投稿できますか? – Rakete1111

答えて

0

は、私は最終的にそれがfrickingタイプミスだった...それを自分で解決しました。 頻度の初期化パラメータに44100の代わりに444100を書きました。/

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

また、今私は不思議です:なぜSDL_MixerはinitにPulseAudioを必要としますか?

ありがとうございました

+1

'SDL_INIT_AUDIO'。どこかで音を出力する必要があります。 Linux上で、通常のコアオーディオシステムは、ALSAやOSS(現在はほぼ絶滅)のいずれかであるが、歴史的に、複数のプログラムからの音をミックスし、ALSAにディスパッチ「サウンドデーモンは」通常あります。今日、このサウンドデーモンは通常パルスサウンドです。 SDLにALSAに直接アウトオーダーするよう依頼することはできますが、失敗する可能性があります(たとえば、パルスオーディオが既にデバイスを排他的に保持しているなど)。 – keltar

関連する問題