HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0128
にゃんちゃんHSPでfmodX.dllを使いたい2解決


にゃんちゃん

リンク

2012/1/28(Sat) 06:40:34|NO.44572

fmodXのページから開発キットをダウンロードして、マニュアルを読んでいるのですが、
System::getReverbProperties
System::getSpeakerMode
などなど、System::という文字列がほとんどの関数についています。
これはおそらくDLLの種類の違いだと思うのですが、HSPでこのようなDLLを使用することは可能なのでしょうか?
fmodXのページはこちらです。
http://fmod.org/
よろしくお願いいたします。



この記事に返信する


foobar

リンク

2012/1/28(Sat) 08:27:50|NO.44573

fmod.orgにあるFMOD Ex Programmers APIを使おうとしているのですよね?

System::などから始まっているのはC++用の定義です。
マニュアルの中のメソッド(関数)それぞれの詳細ページに
C Syntaxと書かれている部分があるのでHSPからはその定義を使ったほうが良いでしょう。

一応音楽ファイルを再生するサンプルを書いてみたので参考になれば。
#uselib "fmodex.dll"
#func FMOD_System_Create "FMOD_System_Create" sptr #func FMOD_System_Init "FMOD_System_Init" sptr, int, int, sptr #func FMOD_System_CreateStream "FMOD_System_CreateStream" sptr, sptr, int, sptr, sptr #func FMOD_System_PlaySound "FMOD_System_PlaySound" sptr, int, sptr, int, sptr #func FMOD_Channel_GetPosition "FMOD_Channel_GetPosition" sptr, sptr, int #func FMOD_Channel_Stop "FMOD_Channel_Stop" sptr #func FMOD_Sound_Release "FMOD_Sound_Release" sptr #func FMOD_System_Release "FMOD_System_Release" sptr #define FMOD_OK 0 #define FMOD_INIT_NORMAL 0 #define FMOD_DEFAULT 0 #define FMOD_CHANNEL_FREE 0 #define FMOD_TIMEUNIT_MS 1 #define check_error(%1) if stat != 0 : dialog "" + %1 + "(" + stat + ")" : end onexit *on_exit fmod_system = 0 FMOD_System_Create varptr(fmod_system) check_error "FMODシステムの作成に失敗" FMOD_System_Init fmod_system, 32, FMOD_INIT_NORMAL, 0 check_error "FMODシステムの初期化に失敗" file_path = "music.mp3" fmod_sound = 0 FMod_System_CreateStream fmod_system, varptr(file_path), FMOD_DEFAULT, 0, varptr(fmod_sound) check_error "音楽ファイルのロードに失敗" fmod_channel = 0 FMOD_System_PlaySound fmod_system, FMOD_CHANNEL_FREE, fmod_sound, 0, varptr(fmod_channel) check_error "音楽ファイルの再生に失敗" repeat current_pos_ms = 0 FMOD_Channel_GetPosition fmod_channel, varptr(current_pos_ms), FMOD_TIMEUNIT_MS check_error "再生位置の取得に失敗" redraw 0 pos 0, 0 color 255, 255, 255 : boxf color 0, 0, 0 : mes strf("%u", current_pos_ms) redraw 1 wait 1 loop stop *on_exit FMOD_Channel_Stop fmod_channel check_error "再生の停止に失敗" FMOD_Sound_Release fmod_sound check_error "音楽データの開放に失敗" FMOD_System_Release fmod_system check_error "FMODシステムの開放に失敗" end



にゃんちゃん

リンク

2012/1/29(Sun) 09:52:39|NO.44588

ありがとうございました。
参考にさせていただきたいと思います。
わざわざサンプルもいただいて、助かります。



ONION software Copyright 1997-2023(c) All rights reserved.