問題タブ [sdl-mixer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - SDL_Mixer エラー "Mixer は ... サポートで構築されていません"
作業中のゲームのバックグラウンドで音楽を再生しようとしています。SDL2 と SDL-mixer を初めて使用しています。私はそれらを自分でコンパイルし、ファイルをプログラム フォルダーのルートに配置しました (移植性のため)。ゲームを実行すると、サウンドが再生されず、Mix_GetError() が次のエラーを返します。
MP3 ファイルを再生しようとしていますが、OGG やその他の形式で初期化しようとすると同じエラーが発生します。
関係がある場合は、ここに関数があります。
その特定の問題についてはあまり見つけていませんが、問題はソースからSDL2とSDL-mixerをコンパイルしたことにあると思います。私は何かを忘れたに違いありませんが、よくわかりません...ちなみに、私はOSXを使用しています(まだあまり慣れていません)。
助けてくれてありがとう!
編集/ WAV ファイルは試していません。
c++ - SDL_mixer 特定の mp3 ファイルで音が出ない
それで、私はSDL_mixerに問題があり、かなりの量のmp3で問題なく再生されるようです(ただし、「問題ありません」。一部のMP3の最初に、音の破損の小さなセグメントがあり、その後再生が開始されることに気付きました)しかし、一部の MP3 ファイルでは、完全な無音だけが存在します。何も再生されないようです。そして、Mix_PlayMusic はエラーを返していないようで、他にも何もしていませんが、単一の音を出していないようです。これらのファイルを再生しようとすると、ランダムに「Access Reading Violation」が表示されることがありますが、それ以外の場合は無音です。
MP3ファイルを再生するために使用しているコードは次のとおりです。
MP3 ファイルの違いを調べていたところ、実際の違いは、LAME3.99 エンコーディングのものは動作しないように見えることだけのようです。これを説明できる人はいますか?
編集:さらにテストした後、他のものでも発生するようです
c++ - SDL_Mixerで現在再生中のMix_Musicを取得
SDL_Mixer を使用して C++ ゲームにサウンドを実装していますが、現在再生中の Mix_Music を提供する関数がマニュアルにありません。現在再生中かどうかに応じて、Mix_Music を解放できるかどうかを知るために必要だと思います。
c++ - Mix_LoadWAV が NULL を返すべきではない場合に NULL を返す
私は C++ でゲームを作成していますが、サウンドに関しては理解できない問題に直面しています。音楽はMix_Music、効果音はMix_ChunkというSDL_Mixerを使っているのですが、MIX_LoadWAVで効果音ファイルを読み込もうとするとなぜかNULLが返ってきます。
問題は、MIX_LoadMUS (効果音ではなく音楽としてロード) を使用して同じファイルをロードすると、正常にロードされることです。
問題を説明する違いは見つかりません。唯一の違いは Mix_LoadMUS ではなく Mix_LoadWAV ですが、なぜですか? Mix_LoadMUS は Mix_Chunk では機能しません。それ以外の場合はそのまま使用しますが、...
ここでは、私が使用するサウンド マネージャーのコードを示します。MusicClip は Mix_Music であり、SoundClip は Mix_Chunk です。
MusicClip と SoundClip のコードは次のとおりです。PlayOnce とフェードアウトを MusicClip に追加する以外は同じように見えます。
-
これは、関数を呼び出すために使用するコードです。(soundManager は、BGM を開始するために、プログラムの早い段階で初期化されています。) したがって、Mix_Chunk* SFX2 を使用するこれは機能しません。
しかし、何らかの理由で、SFX2 を Mix_Music* に変更すると、これは機能します。
私は何をしますか?Mix_GetError() も何も返さない...パスを間違って書くと、「ファイルを開くことができませんでした」が返されるので、明らかにファイルを見つけて開くことができますが、... できませんか? 効果音に Mix_Music だけを使用することもできません。使用すると音楽が打ち消されるからです。
ところで、関係あるか分かりませんが、Mix_LoadMUSは.oggや.mp3にも対応しているはずなのに、wav以外のファイルを読み込めないのでは?
c++ - SDL_mixer が特定のイベントで音楽の再生を停止する
run()
特定のポイントが範囲内にある場合、プログラムはサウンドの再生を停止する必要があります。そのために、別のスレッドで実行され、 and を使用してサウンドを再生する関数を持つクラスがSDL.h
ありSDL_mixer.h
ます。
しかし、if
条件が true を返すと、「停止音」が出力されますが、音はまだ再生されます。何が問題のようですか?