問題タブ [fmod]
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.
android - Androidでfmodを使用してmidiファイルを再生する方法
fmod を使用して midi ファイルを再生しようとしています。しかし、次のようなエラーが表示されます:プラグインが必要とするリソースが見つかりません(つまり、MIDI 再生用の DLS ファイル)
このような問題の結果を検索し、fmod.h ファイルを参照しました。「gs_instrument.dls」という名前のファイルが必要なようですが、Mac と Android シミュレータ ファイルシステムで見つけることができません。Web のリソースも検索しましたが、結果もありません。
fmodを使用してAndroidでmidiファイルを再生したい場合はどうすればよいですか。
あなたが私を助けてくれることを願っています!
ありがとう!
iphone - fmodでの最大3D距離
最大3D距離の最大数はいくつですか?Fmod Designerで5250に設定しましたが、ファイルをビルドしても効果がありません。ただし、40で動作します。作業後のコードで変更できますか?iPhone用のコードを書いています。
ありがとう!
iphone - イベントが再生されるのを待ちます
3D ワールドで同時にリスナーの周りを移動している場合でも、イベントの再生を確実に終了するにはどうすればよいですか。イベントの再生が開始されたときと同じリスナー位置で、特定の時間にイベントを再生したいだけです。他のイベント サウンドはリスナーの位置を知る必要があるため、リスナーの位置を更新する必要があります。でも、すでに始まっているイベント音には影響を与えたくない…
mp3 - FMOD を使用してインターネットから MP3 をストリーミングする
これは FMOD のようなもので比較的簡単な作業だと思っていましたが、うまくいきません。サンプルコード netstream でさえ、うまくいかないようです。netstream サンプル プログラムで再生しようとしている mp3 に関係なく、次のエラーが発生します。
これが何を意味するのかよくわかりません。これはまさに netstream サンプル プログラムの目的ではないでしょうか? インターネットからファイルをストリーミングするには?
createSound メソッドを渡すことができません
編集:
これは、マシューの回答を読んだ後に変更したものです
使用するファイルに応じて、2 つの異なるエラーが発生します。
テスト 1 の URL: http://kylegobel.com/test.mp3
テスト 1 エラー: (25) サポートされていないファイルまたはオーディオ形式です。
テスト 2 の URL: http://kylegobel.com/bullet.mp3
テスト 2 エラー: (20) シーク操作を実行できませんでした。これは、メディア (つまり、ネットストリーム) またはファイル形式の制限です。
変更を行う前は、netstream を使用して "C:\test.mp3" を再生できました。これは Web 上の test.mp3 という名前の同じファイルですが、上記の変更では機能しなくなりました。これらのファイルの形式が間違っているだけでしょうか? この分野の知識が不足していて申し訳ありません。私は音についてあまり知りませんが、理解しようとしています。
ありがとう、カイル
audio - FMODチャネルsetVolumeが機能しない
私はこれを使用します:
エラーがFMOD_OKであっても、音量は変化しません。私は何か間違ったことをしていますか?音(チャンネル)の音量を変える方法はありますか?[0、1]の代わりにボリュームの他の範囲はありますか?
ありがとう!
編集:私はこの直後にsetVolumeを使用します:
c# - コールバック デリゲートが収集されていますか?
C# ゲーム開発のために FMOD をいじっていましたが、早い段階でうまくいかないように思われる障害にぶつかりました。オーディオの分岐処理を行い、ゲームプレイ アクションをビートなどに同期させたいので、音楽トラックに同期点を追加してみました。コードは次のとおりです。
その後...
曲は読み込まれ、正常に再生されます...追加した 500ms の同期点に達するまで。この時点で、VC# は FMOD.EventSystem.update() 内から次のエラーを吐き出します。
タイプ 'Game!FMOD.CHANNEL_CALLBACK::Invoke' のガベージ コレクション デリゲートでコールバックが行われました。これにより、アプリケーションのクラッシュ、破損、データ損失が発生する可能性があります。デリゲートをアンマネージ コードに渡す場合、デリゲートが呼び出されないことが保証されるまで、マネージ アプリケーションによって保持される必要があります。
どういうわけか、FMOD は私が渡したデリゲートを見失っています。デリゲートを保持する Music インスタンスはガベージ コレクションされていません。今のところ静的変数に格納していますが、静的メソッドでも試してみましたが、役に立ちませんでした。CallbackOnCollectedDelegate MDA を無効にすると、エラーは null 参照例外になるので、MDA は間違っていません。ここで FMOD が何をしているのかを完全には理解していないと思います。
C# + FMOD の専門家は私の間違いに気付くことができますか?
c# - FMOD ギャップレス ループおよびシーケンス再生
C# アプリケーションで音を途切れなく再生する必要があるため (ループ内の 1 つの音とシーケンス内の複数の音の両方)、FMOD ライブラリを使用し始めました。誰でも正しい方法を教えてもらえますか? 例に基づいて何かを作成しようとしましたが、機能したいように機能しません。まず、再生中に音をループさせるかどうかを設定しようとすると、
何も起こっていません。再生を開始する前に、モードを設定した場合にのみ正常に動作します。
2 番目の問題は、サウンドが最後に達したことをどのように通知できるかということです。私はこのようにしようとしました:
ここで、eofCallback は SoundEndCallback への参照です
しかし、このコールバックは、トラックが終了したときではなく、チャネルで手動で stop() を呼び出したときにのみ到達します。
または、最終的に、必要なものを簡単に提供してくれる他のライブラリを知っていますか? 私は FMOD を選びました。これは非常に人気があるためですが、昔ながらの C++ のようなコーディング方法 (イベントなし、例外なしなど) は好きではありません。
c++ - 他のクラスから関数を呼び出そうとしています
私は仕事をしようとしていますが、それを呼び出すことFMOD
ができませんmain()
私が得ているエラーは次のとおりです。
関数_mainで参照される未解決の外部シンボル"public:__thiscall AudioProject :: AudioProject(void)"(?? 0AudioProject @@ QAE @ XZ)
1> C:\ Users \ CodeMonkey \ Desktop \ AudioProject \ Debug \ AudioProject.exe:致命的なエラーLNK1120:1つの未解決の外部。
これは、.h
宣言されているファイル変数からのものですpublic
。ただし、何かを作成した場合initAudio
、関数public
でアクセスできなくなりmain()
ます。何か案は?
c++ - FMOD - ソース コードが利用できない未処理の例外
FMOD を使用してオーディオ トラックを再生しようとしていますが、未処理の例外が発生し続け、利用可能なソース コードがないと表示され、逆アセンブリ コードが表示されます。
初期化関数にあった、停止した場所にブレークポイントを配置しました。初期化関数に入っても、ランダムに壊れます。昨年使用した fmod のインクルード ファイルはすべて問題ないと思います。
私の sound.h/.cpp ファイルも投稿します。
.h
.cpp
ここでレンガの壁にぶつかります。誰かアイデアはありますか?
c++ - FMod メモリ ストリームの問題
編集: うーん...それは非常に興味深いです。設定をポインタにして渡しました。美しく働きました。ということで、これで解決です。答えに興味のある人のために開いたままにします。
FMod でメモリ ストリームからサウンドを作成する際に問題が発生しています。FMod に同梱されている loadfrommemory の例を見て、それに従いました。まず、私が使用しているコード...
このままだとtempSys->createSound()でアクセス違反になる。tempSys は、ファイルからサウンドを作成するときに機能するため、有効であることを確認しました。また、コンテンツをファイルに書き込むことで、データの char * が有効であることを確認しました。ファイルは、Media Player で開くことができました。設定に問題があるような気がします。そのパラメーターを 0 に変更すると、プログラムは爆発せず、result = FMOD_ERR_INVALID_HANDLE になります (3 番目のパラメーターが 0 であることを考えると、これは理にかなっています)。私が間違っていることは何か分かりますか?
また、std::string の使用を無視してください。テスト目的で使用していました。