問題タブ [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.

0 投票する
1 に答える
4053 参照

makefile - make は SDL_mixer.h を見つけることができませんが、SDL ディレクトリを含めました

source から eduke32 をビルドしようとしています。

特に、SDL_mixer.h が必要です。

私はそれを持っています:

(Devel Tools グループと他の多くの開発パッケージがインストールされています)

しかし、ビルドを開始すると、SDL_mixer ファイルが見つからないというエラーが発生します。

これは、include-dir オプションを追加しても発生します。

ここで何が起こっているのですか?誰かが手がかりを持っていますか?

0 投票する
1 に答える
643 参照

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 が失敗するのでしょうか?

0 投票する
2 に答える
2738 参照

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 ディレクトリもあります。試してみようと思うことができることはこれ以上ないので、助けていただければ幸いです

0 投票する
1 に答える
1529 参照

c++ - SDL_mixer 使用時に音が出ない

なんらかの奇妙な理由で、SDL_mixer でまったくサウンドが再生されません。私はすべてを試しました:ライブラリを再インストールし、Mix_FadeInMusicとMix_FadeOutMusicを使用して音楽が実際に再生可能かどうかを確認し、絶対に役に立たない. 音楽がロードされていることを知らせており、再生中であることを教えてくれます。VC 2013 で Windows 8.1 64 ビットを使用しています。

コード:

0 投票する
1 に答える
384 参照

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 の完全な出力です。

0 投票する
1 に答える
686 参照

sdl - .wav ファイル C++ のロード中にエラーが発生しました

.wav ファイル (afschieten.wav) をロードしようとしましたが、ロードできません。lazyfoo のチュートリアルに従いました: http://lazyfoo.net/SDL_tutorials/lesson11/

コード:

私はファイルの上にこれを得ました:


メインから呼び出す関数:

私は何を間違っていますか?コンパイル時にエラーは発生しません。効果音 afschieten.wav の読み込みに失敗したと表示されます。

0 投票する
0 に答える
355 参照

c - SDL ミキサーを使用したリアルタイム帯域制限インパルス列合成

この手法を使用してオーディオシンセサイザーを実装しようとしています:

https://ccrma.stanford.edu/~stilti/papers/blit.pdf

SDL2_Mixer ライブラリを使用して、標準 C で実行しています。

これは私のBLIT関数の実装です:

アイデアは、紙の指示に従って、それを組み合わせて方形波を生成することです。この構成で SDL2_mixer をセットアップしました。

そして、ここに私のcreate_rect機能があります。バイポーラ インパルス列を作成し、その値を統合して帯域制限された rect 関数を生成します。

私の問題は、結果の波はまったく問題ありませんが、数秒後にノイズが発生し始めます。私は結果をプロットしようとしましたが、これがそれです:

標準版 もっとズームしたバージョン 批評エリア

何か案が?

編集: 統合する前のバイポーラ BLIT のプロットは次のとおりです。

ブリット スケーリングされた BLIT

0 投票する
4 に答える
209 参照

c++ - この実行エラーを修復するにはどうすればよいですか?

単純な SDL1.2 コードをコンパイルするたびに正常にコンパイルされますが、ターミナル経由で実行しようとすると ( alt+ tUbuntu では):

このエラーが発生します。助けていただけますか?これはコードです: