こんにちは。
BASSのエラーコード8「BASS_ERROR_INIT」は、BASSが初期化されていないときに出るエラーです。
BASSを利用する際は、必ず利用前に「BASS_Init」で初期化する必要があります。
で、本題のhspdxfixと組み合わせた際の動作ですが、hspdxfixをダウンロードして、
#include "hspdxfix.as"
を入れて試してみただけですが、一応問題なさそうでした。
一応、簡単なプログラムを張っておきますので、何かの参考になれば幸いです。
内容的には、音声を再生して、再生が終了するまで待機したあと、プログラムを終了するだけのものです。
なお、プログラム中で利用しているBASSの説明とかは、「bass.chm」を参照してください。
あと、定数とかは「bass.h」にまとまっているので、定数はそちらで調べることができます。
それから、今回のサンプルは、エラー処理がやや適当かもしれませんが、ご了承ください。
#include "hspdxfix.as"
#include "bass.as"
// BASSを初期化して、初期化に失敗したらエラーを表示
ret = BASS_Init(-1, 44100, 0, 0, 0)
// エラーだったらその旨を表示して終了する
if (ret == False){
ErrorCode = BASS_ErrorGetCode()
dialog strf("BASSの初期化に失敗しました。\nエラーコード:%d", ErrorCode), 1, "エラー"
end
}
// 再生したい音声のファイル名を指定
filename = "./test.mp3"
// 音声を再生するためのストリームを作る
handle = BASS_StreamCreateFile(0, filename, 0, 0, 0)
// エラーだったらその旨を表示して終了する
if (handle == 0){
ErrorCode = BASS_ErrorGetCode()
dialog strf("音声の読み込みに失敗しました。\nエラーコード:%d", ErrorCode), 1, "エラー"
end
}
// 音声を再生
ret = BASS_ChannelPlay(handle, 0)
// エラーだったらその旨を表示して終了する
if (ret == False){
ErrorCode = BASS_ErrorGetCode()
dialog strf("音声の再生に失敗しました。\nエラーコード:%d", ErrorCode), 1, "エラー"
end
}
// 音声の再生終了を待機
repeat
status = BASS_ChannelIsActive(handle)
if (status == 1 ){
await 10
}else{
break
}
loop
// 作成したストリームを開放する
ret = BASS_StreamFree(handle)
// BASSを解放する
ret = BASS_Free()
// プログラムを終了する
end
以上、参考になれば幸いです。