問題タブ [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.
makefile - make は SDL_mixer.h を見つけることができませんが、SDL ディレクトリを含めました
source から eduke32 をビルドしようとしています。
特に、SDL_mixer.h が必要です。
私はそれを持っています:
(Devel Tools グループと他の多くの開発パッケージがインストールされています)
しかし、ビルドを開始すると、SDL_mixer ファイルが見つからないというエラーが発生します。
これは、include-dir オプションを追加しても発生します。
ここで何が起こっているのですか?誰かが手がかりを持っていますか?
c - SDL_Mixer: メモリに作成されたサンプルで Mix_FreeChunk() がクラッシュする
ランダム化されたピッチをサウンド サンプルに追加する作業を行っていましたが、現在は正常に機能していますが、使用が終わった後にチャンクを解放しようとすると Mix_FreeChunk() がクラッシュします。
問題を再現する簡単なテストを作成しました (SDL 1.2.14 および SDL_mixer 1.2.11):
s1 は Mix_LoadWAV_RW を使用してファイルからロードされ、s2 はメモリ内に作成された s1 の正確なコピーです。後者は解放時にクラッシュしますが、前者はクラッシュしません。なぜこれが起こっているのか、誰にも手がかりがありますか? 私はこれに何時間も費やし、SDL_Mixer で起こっていることに絞り込みましたが、クラッシュしたときに基になるソースで何が起こっているかを確認する方法がありません。今ではテストは非常に単純で、正確なコピーです。元のサンプルですが、それでも失敗します...
特定のエラー メッセージの例: 「game.exe の 0x77c5e3be での初回例外: 0xC0000005: アクセス違反の読み取り場所 0x69b0f1d8.」
メモリを解放できないのはなぜですか?
編集: 分離されたテストをさらに調べた後、HeapFree(_crtheap, 0, pBlock) 呼び出し中に s2 の解放が free.c で具体的にクラッシュしているため、これらの数行のスペースでヒープが破損していますか? Mix_FreeChunk() の中間コードは実際には非常に単純で、多かれ少なかれバッファで free() を呼び出すだけです。では、なぜ s1 は問題ないのに s2 が失敗するのでしょうか?
c++ - 未定義の参照C::BをリンクするSDL2_mixer
サウンドに SDL2_mixer を使用しようとしていますが、これらのエラーが発生します
「Mix_OpenAudio」への未定義の参照
「Mix_LoadWAV_RW」への未定義の参照
「Mix_PlayChannelTimed」への未定義の参照
Lazy Foo のチュートリアルによると、未定義の参照は、リンカーの設定に問題があることを意味します。次のようになります。
-lmingw32 -lSDL2main -lSDL2 -lSDL2_mixer -lSOIL -lOpenGL32
さらに、ヘッダーと lib ファイルの検索ディレクトリは正しく (トリプル チェック済み)、.dll は実行可能ファイルと同じディレクトリにあります。コード ファイルには、対応する #include ディレクトリもあります。試してみようと思うことができることはこれ以上ないので、助けていただければ幸いです
c++ - SDL_mixer 使用時に音が出ない
なんらかの奇妙な理由で、SDL_mixer でまったくサウンドが再生されません。私はすべてを試しました:ライブラリを再インストールし、Mix_FadeInMusicとMix_FadeOutMusicを使用して音楽が実際に再生可能かどうかを確認し、絶対に役に立たない. 音楽がロードされていることを知らせており、再生中であることを教えてくれます。VC 2013 で Windows 8.1 64 ビットを使用しています。
コード:
c++ - 依存関係の切断
SDL2/Box2D/OpenGL (および SDL2 拡張 SDL2_mixer と SDL2_ttf) を使用して、C++ で小さなゲームを作成しています。バージョン 1.0 に近づいているので、ゲームを配布することを考えていましたが、私のゲームに予期しない依存関係があることがわかりました。
SDL2_mixer が libglib を取り込むのに対し、SDL2 は libjson のような依存関係を取り込んでいるようです (なぜ SDL は json を必要とするのでしょうか?)。たとえば、SDL2_mixerではなくSDL2がlibFLACを取り込みます。libpng、libmad、libvorbis などの依存関係もあります。これらの機能を使用していないと確信しています。
自己完結型のゲームを失敗させるには、これらすべての依存関係を含める必要がありますか? 依存関係の数を最小限に抑える最善の方法は何ですか?
これは、ldd の完全な出力です。
sdl - .wav ファイル C++ のロード中にエラーが発生しました
.wav ファイル (afschieten.wav) をロードしようとしましたが、ロードできません。lazyfoo のチュートリアルに従いました: http://lazyfoo.net/SDL_tutorials/lesson11/
コード:
私はファイルの上にこれを得ました:
メインから呼び出す関数:
私は何を間違っていますか?コンパイル時にエラーは発生しません。効果音 afschieten.wav の読み込みに失敗したと表示されます。
c - SDL ミキサーを使用したリアルタイム帯域制限インパルス列合成
この手法を使用してオーディオシンセサイザーを実装しようとしています:
https://ccrma.stanford.edu/~stilti/papers/blit.pdf
SDL2_Mixer ライブラリを使用して、標準 C で実行しています。
これは私のBLIT関数の実装です:
アイデアは、紙の指示に従って、それを組み合わせて方形波を生成することです。この構成で SDL2_mixer をセットアップしました。
そして、ここに私のcreate_rect
機能があります。バイポーラ インパルス列を作成し、その値を統合して帯域制限された rect 関数を生成します。
私の問題は、結果の波はまったく問題ありませんが、数秒後にノイズが発生し始めます。私は結果をプロットしようとしましたが、これがそれです:
何か案が?
編集: 統合する前のバイポーラ BLIT のプロットは次のとおりです。
c++ - この実行エラーを修復するにはどうすればよいですか?
単純な SDL1.2 コードをコンパイルするたびに正常にコンパイルされますが、ターミナル経由で実行しようとすると ( alt+ tUbuntu では):
このエラーが発生します。助けていただけますか?これはコードです: