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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0119
横坂 雄浬hmm.dllで初期化は失敗してしまうが、読み込み、再生に失敗する4未解決


横坂 雄浬

リンク

2014/1/19(Sun) 00:38:23|NO.59377

音の再生の際にhmm.dllを使用させてもらっているのですが、音楽をうまく再生させることができません。

#include "hmm.as"
#pack "sound1.wav" #pack "sound2.wav" dsinit mes stat dsloadfname "sound1.wav",0 mes stat dsloadfname "sound2.wav",1 mes stat dsplay 1 mes stat stop

このようにすると実行結果が
1
0 0 0
となり、初期化には成功しているのですが、読み込み、再生に失敗します。
どのように解決すればいいでしょうか?



この記事に返信する


MillkeyStars

リンク

2014/1/19(Sun) 02:19:26|NO.59378

HMM.DLL は、パックされたファイルを直接扱うことができないので、エラーを引き起こす。
対策は、HMM.DLL の dsloadmemory を使いメモリから直接再生をさせる。
(HMM に入っていたサンプルでのやり方を参考)

あと、スクリプト(プログラム)終了時にHMM.DLL 開放処理を行っている。
これを明示的にしないと、タスクが残ったままになってしまうので、その対策。


#include "hmm.as" #pack "sound1.wav" #packopt name "hmm_test" onexit *p_end //HMM 初期化 dsinit mes "DS_INIT : "+stat //サウンドロード規約 fname = "sound1.wav" exist fname if strsize > 0 { sdim buf, strsize bload fname, buf, strsize dsloadmemory buf, 0 mes "SND_LOAD : "+stat } else { dialog "not play wave !!" } //サウンド再生 dsplay 0 mes "SND_PLAY : "+stat stop *p_end DSEND DSRELEASE end



横坂 雄浬

リンク

2014/1/19(Sun) 12:40:40|NO.59381

MillkeyStarsさんのコードと完全に同じにして試してみたものの、
やはりロード、再生で0(失敗)と出てきてしまいます。。。
私が何らかのファイル操作を間違っているのでしょうか?
色々と申し訳ありません・・・



MillkeyStars

リンク

2014/1/19(Sun) 16:33:18|NO.59386

スクリプトエディタから直接実行した場合と、exeファイルを作った場合とで、エラーが同じであればWindows側の問題かな。
正確なエラー情報は、hmm.dll 側からしか判別できないので、開発者に直接聞くしか・・・

なにも解決策になっていなくて、ごめんなさい。



横坂 雄浬

リンク

2014/1/19(Sun) 17:19:12|NO.59389

exeファイルから実行してみましたが、やはり実行結果は変わりませんでした。
他のDLLなども試してみたりしていきたいと思います。ご教授ありがとうございました!



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