問題タブ [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 投票する
5 に答える
18036 参照

windows - Windows で SDL ゲームを静的にコンパイルする方法

Windows 用のゲームの静的にリンクされた「単一バイナリ」バージョンを作成しようとしています。sdl、sdl_image、および sdl_mixer とリンクして、いくつかのサポート ライブラリを取り込みたいと考えています。残念ながら、cygwin/mingw/gcc を使用してそれらすべてをコンパイルおよびリンクする方法を見つけられませんでした。私が知る限り、既存のすべての公開バージョンは共有ライブラリ/dll のみです。

ここでライセンスについて話しているわけではないことに注意してください。ソースは公開されるため、sdl の GPL/LGPL 性は関係ありません。

0 投票する
3 に答える
1897 参照

c++ - SDL_Mixer が特定の mp3 の音楽を再生しないのはなぜですか?

SDL_Mixer が特定の mp3 の音楽を再生しないのはなぜですか?

作成中のアプリケーションで音楽再生に SDL_Mixer を利用しています。特定の曲 (実際にはアルバム全体) では、エラーが返されずに音楽が再生されません。音楽データは Mix_LoadMUS を使用して正常にロードされ、そのデータで Mix_PlayMusic を実行すると、奇妙に成功すると 0 が返されますが、音楽は再生されません。また、Mix_GetError() と SDL_GetError() (同じだと思います) を読んで、エラーが発生するかどうかを確認しましたが、そのような運はありませんでした。

私の質問は、SDL_mixer が特定の mp3 を再生できない他の理由は何ですか?

他の音楽プレーヤーで再生できるので、mp3 が機能していることはわかっています。また、Mix_PlayingMusic が 0 を返すため、(おそらく音量が下がっているのではなく) 再生されていないこともわかっています。

みんな、ありがとう!

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

c++ - 音楽を SDL_Mixer チャンクとして実行する

現在、SDL_Mixer には、チャンクと音楽の 2 種類のサウンド リソースがあります。

API とサポートされているフォーマットの制限以外に、音楽を SDL_Chunk と channel として読み込んで再生しない理由はありますか? (メモリ、速度など)

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

c++ - Mix_Chunk の再生で意図しない遅延が発生しました

だから私はSDLを学び、小さなゲームを作ろうとしています。ユーザーがスペースバーを押すと、サウンドが再生されます。これは機能しますが、サウンドの再生に約 0.5 秒かかります... どうすれば修正できますか? 実際のファイルをチェックして、遅延がその一部であるかどうかを確認しましたが、そうではないことが判明しました。

Win Vista での C++ を使用した SDL。

関連するコードを次に示します。

ハンドル入力関数:

さらに必要な場合は、お知らせください。

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

c++ - SDL。現在の音楽の位置

SDL_mixer関数を使用して音楽トラックをロードします。

ビデオと同期するには、現在の音楽の位置を知る必要があります。どうすればこれを判断できますか?

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

c++ - C++ SDL Mixer Mix_Music : 不完全な型は許可されていません

Mix_Music インスタンスを作成しようとすると、「不完全なタイプは許可されていません」というエラーが表示されます。

ただし、Mix_LoadMUS(file); を呼び出す前に、ポインタ ミュージックのアドレスを取得する必要があります。

コード:

どうすればいいですか?

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

c++ - SDL_Mixer を使用して暗号化されたファイルを再生する

SDL_Mixer を使用してプログラムから再生したい暗号化された mp3 ファイルがいくつかあります。私が遭遇したすべてのドキュメントは、パスとファイル名を指定して音楽をロードする方法を示しているだけであり、以前に暗号化されたファイルを再生する例に遭遇したことはありません. 私はファイルを復号化するためのアルゴリズムを持っていますが、オンザフライでファイルを復号化する SDL_Mixer 関数にコールバックを追加するのと同じくらい基本的なものかどうか疑問に思っていました。これが SDL_Mixer でできない場合、どのオーディオ ライブラリでこれを行うことができますか?

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

c++ - C++ プログラムをクラッシュさせるオーディオ バグ

C++ と SDL/SDL_mixer を使用して非常に単純なゲームを作成しています。このゲームは、何かが起こったときに効果音を再生するいくつかの単純なオーディオ関数を使用しており、私のプログラムは今まで問題なく動作していました。一見ランダムなタイミングで、プログラムは金切り声と静的なノイズを発し始めます (ただし、サウンド エフェクトを再生することはできます)。ラップトップのマイクでサウンドを録音しました: http://www.mediafire.com/?oe9nrdk9w5r572k。音を出している間、プログラムはクラッシュするかもしれませんし、クラッシュしないかもしれません。私は何をすべきか途方に暮れています。

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

c++ - Windows Vista/7 での SDL_Mixer MIDI ボリュームの問題

私は実際には C++ や SDL_Mixer に精通しているわけではありませんが、Doom コミュニティを代表してこの質問をしています。簡単に言えば、Windows Vista または 7 で SDL_Mixer を使用して通常のサウンド ボリュームと MIDI サウンド ボリュームを個別に制御する方法を、Doom ソース ポートを作成しているユーザーは誰も理解していないようです。Eternity Engine の作成者である James Haley に彼自身の言葉で説明してもらいます。 :

Windows Vista または 7 では、ネイティブ MIDI の独立したボリュームの概念は存在しないようです。これは、MIDI ボリューム スライダーを持つアプリケーション (SDL_mixer を使用するほとんどのゲームを含む) で MIDI ボリューム スライダーを使用すると、デジタル サウンド出力のボリュームにも影響するためです。これにより、快適さのために音楽の相対的な音量を調整しようとすることが不可能になります。

誰かがこれに対する回避策を見つけましたか? 個々のサウンド デバイスの音量を個別に制御するために、Microsoft が OS 全体を軽視しているように見えることを考えると、それはありそうもないことだと思います。

Timidity ドライバーを使用するさまざまな回避策について聞いたことがありますが、これには、ユーザーが自分のシステムにゲームをインストールするだけでなく、それ以上のことが必要です。この問題を確実に修正するポートとして私が知っている唯一のポートは ZDoom ですが、これは GPL 非互換の FModEx を使用しているため、適切なソリューションではありません。

コードを確認したい場合は、Chocolate Doom が最も簡単に理解できる Doom ソース ポートであり、そのソースをここで取得できます。

他のオープンソースのサウンドおよび音楽ライブラリに関する提案も大歓迎です。

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

visualization - 音楽ファイルをチャンクに分割する

音楽ファイル (できれば mp3) をチャンクに分割するにはどうすればよいですか?

SDL_mixer API を使用しています。そこにいくつかの便利な機能があるかもしれませんが、私は見つけられませんでした。

目的は、各チャンクで FFT を使用して、視覚化に使用する周波数を取得することです。