自分がエフェクト付きプレイヤー作った時の方法だと、
1・VBMP3をDL ->
http://www.vector.co.jp/soft/win95/prog/se111971.html
2・exmp3dll.asをDL ->
http://hspnext.com/hspkura/hspkura14.htm
(下にここのページのモジュールをまとめたパックがあるのでDL。exmp3dll以外は
消しても構いません。)
3・上でDLしたの(VBMP3.dll & exmp3dll.as)を一つのフォルダにまとめておく
4・exmp3dll.asを開いて、
;***** オシロスコープ(WAVE成分)の取得 (getWavemp3) *****
#deffunc getWavemp3 var p1,var p2
vbmp3_getWave varptr(p1),varptr(p2)
return 0
の下に、
;***** アナライザ *****
#deffunc getSpectrum array prm1,array prm2
vbmp3_getSpectrum varptr(prm1),varptr(prm2)
return 0
をコピー&ペーストしてください。
そして、
#global
#endif
#endif
より下のソースを全部消して上書き保存してください。
これで、exmp3dllをイングルードしたらVBMP3をHSPで扱える状態になりました。
サンプル作ってみたので、以下を先ほど保存したフォルダの中に保存して実行
してみてください。
#include "exmp3dll.as"
screen 0,640,480
initmp3 25,25,25
dialog "MP3",16,"MPEG1-AUDIORAYER3 FILE"
dim Lch,256 : dim Rch,256
dim LchWav,256 : dim RchWav,256
Pass = refstr
playmp3 nInfo, Pass
*main
getSpectrum Lch,Rch //スペクトラムアナライザー
getWavemp3 LchWav,RchWav //オシロスコープ
color 0,0,0 : boxf
color 255,255,255
//オシロスコープの描画
repeat 256
sa = -lchWav(cnt) + 100
if sax = sa : pset cnt,sa
line cnt,sax,cnt,sa
sax = sa
loop
//スペクトラムアナライザーの描画
repeat 256
Lchs = Lch(cnt)
line 270 + cnt,200,270 + cnt,100 - Lchs
loop
redraw 1 : redraw 0
await 1
goto *main
上は、代表的な2種ですが、三角関数などを使って円形に動くエフェクト等も作れます。
WindowsMediaPlayer並みのも作れないことはないです。(ですが、かなりの重さに(^^;
もし、妙に趣旨が違ってたらすみません。