問題タブ [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++ - エラー: 引数 '1' を 'void Mix_HookMusicFinished(void (*)())' にするために 'void (CApp::*)()' を 'void (*)()' に変換できません
オーディオ用の SDL と SDL_Mixer を使用して C++ アプリケーションを作成しようとしており、このチュートリアルに従おうとしています。ただし、SDL_Mixer の Mix_HookMusicFinished() を使用しても機能せず、次のエラーが発生します: タイプ 'void (CApp::)()' の引数が 'void (*)()' と一致しません
このエラーについて調べたところ、問題は cleanMusic が CApp のメンバー関数であることのようです。ただし、この問題に似た問題のほとんどは pthread_create() に集中しているため、問題の解決方法はわかりません。私の cleanMusic() 関数は、CApp のプライベート変数である music_ にアクセスできる必要があります。エラーを解決するにはどうすればよいですか?
CApp.h、CApp::handleKeyEvents()、および CApp::cleanMusic() のコードを次に示します。何か他のものを見る必要がある場合はお知らせください。
CApp.h
CApp::handleKeyEvents()
CApp::cleanMusic()
c++ - SDL_mixer で音が出ない
そのトピックに関する他のすべての投稿を読んで試しましたが、何も役に立ちませんでした。Mix_PlayChannel() で音楽を再生しようとしても、エラーは発生せず、音も聞こえません! 何時間も試しましたが、何も役に立ちません。プログラムは楽しく終了します。でも無音!Ubuntu 12.04 64 ビットを使用しています。
ありがとう!
[編集]
私が使用するコードは次のとおりです。
PlayMusic() と Mix_FadeInChannelTimed() の両方を試します。両方のファイルが正しく読み込まれますが、再生されません。サウンドはミュートされず、wav ファイルは aplay などのツールで再生できます。すべてのチャンネルが開いていて、低すぎないことを alsamixer で確認します。
c++ - SDL C++ プログラムが約 12 秒後に一貫してクラッシュする
現在、C++ で SDL を使用して簡単なゲームを作成しています。コマンドラインを使用して Ubuntu でゲームをコンパイルして実行すると、ゲームは問題なく完全に実行されます。しかし、Windows 7 で Codeblocks を使用して同じコードをコンパイルしようとすると、毎回約 12 秒後にプログラムがクラッシュします。GDB を使用してメモリ関連の問題を検索し、すべてのアセット (画像、音楽など) が正しいディレクトリにあることを確認しましたが、問題の解決に役立つものは何も見つかりませんでした。Windows で SDL または C++ コードをコンパイルする際に、Linux では不要な何かが不足していますか?
どんな助けでも大歓迎です。
ここに私のコードへのリンクがあります: https://www.dropbox.com/s/gebuas2xc9esq82/src.zip
次の行を使用して main.cpp ファイルのみをコンパイルします: g++ -o main main.cpp -lSDL -lSDL_image -lSDL_mixer -lSDL_ttf
このコードをコンパイルするには、SDL、SDL_image、SDL_mixer、および SDL_ttf がインストールされている必要があります。
c++ - SDL_Mixer での MIDI 再生に Fluidsynth を使用するにはどうすればよいですか?
FluidSynth と SDL_Mixer を使用して、この問題を解決しようとしています。
Windowsで最新バージョンのSDL_Mixer 1.2.12(公式WebサイトのDLL)とFluidSynth 1.1.6(こちらのDLL )を使用しています。これらは互いに動作するはずです。
FluidSynth DLL の名前を SDL_Mixer に従って「libfluidsynth.dll」に変更し、「SDL_Mixer.dll」の隣に配置しました。SDL_SetSoundFonts()、SDL_SOUNDFONTS、さらには SDL_putenv() を通じて、sf2 への絶対パスと相対パスを渡しました。Mix_OpenAudio() の前後に呼び出しを入れてみました。
しかし、SDL_Mixer を介して MIDI ファイルを再生すると、デフォルトの Timidity++ 出力しか得られません。Mix_GetError() はメッセージを返しません。私は何が欠けていますか?
c++ - SDLで複数のMP3ファイルを同時に再生する方法は?
複数の MP3 ファイルを SDL で再生したい。を使用してSDL_Mixer
、1 つの MP3 ファイルを再生できます。
しかし、最初の MP3 と一緒に別の MP3 を再生しようとすると、最初の MP3 が停止し、2 番目の MP3 が再生されます。誰でもこれについて助けることができますか?
c++ - midiファイルの読み込み
友人がプログラムを作成するのを手伝おうとしています。そして、いくつかの midi ファイル データを読み取る必要があります。私は今、2時間ほど検索しましたが、それを行う簡単な方法を実際に見つけることができないようです.
SDL_mixer を正しくダウンロードして、できればインストールしました。そして、これで曲を演奏することができました:
それで、私が疑問に思っているのは...これを使用してデータを抽出することは可能ですか? タイミングに注意する必要があります。それらがどのように構造化されているかはよくわかりませんが、データにアクセスしたいです。どうすればそれをやってみることを提案できますか?
ありがとう!