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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0904
りゅん音声ファイル再生用のプラグイン作ってみました10解決


りゅん

リンク

2010/9/4(Sat) 14:08:35|NO.34836

なんか今さら感ありますけど、音声ファイル再生用のプラグインを作ってみました。
主にゲームでの音声管理に重点を置いています。

http://leafnote.sakura.ne.jp/work.html
のページの「LightAudio」のリンクからダウンロードできます。

普通の再生だけでなく、フェードイン・フェードアウトや音量、ピッチの調整など、
ゲームを作る上であったら便利そうな機能を持たせてあります。

★主な機能
 ・wav、mp3、ogg、mid 形式の音声ファイルの再生
 ・切れ目のないループ再生
 ・大きな音声データのストリーミング再生
 ・同じファイルを読み込んだ時のファイルデータの共有 ( ムダにメモリを使わないように )
 ・フェードイン、フェードアウト
 ・動的な音量、ピッチの変更
 ・再生時間の取得
 ・複数の音声の重ね合わせ再生
 ・DirectMusic Synthesizer を使った MIDI の演奏 ( リバーブ付き )
 ・MIDI データのコントロールチェンジ 111 番の位置を目印としたループ再生 ( RPGツクール仕様 )
 ・RPGツクールの BGM、BGS、ME、SE にあたる再生方法のサポート


どの機能も、現在公開されている HSP 用のプラグイン ( MIA さんの dsoundex とか、 卯如さんの GuruGuruSMF とか )
を集めれば実装できそうですが、自分の学習も兼ねて、あえてひとつのプラグインでまとめてみました。

HSP でゲームに使える音声再生プラグインを探してる方はぜひどうぞっ!

★追記
  まだ完成したばかりですので、細かいところに不備があるかと思います。
  バグ報告などいただけるととても助かります。



この記事に返信する


panda

リンク

2010/9/4(Sat) 20:08:45|NO.34841

お疲れ様です。
説明書に Windows 7での動作確認はしていないと書いてありましたが、
Windows 7 (x64) で正常動作確認しました。

プラグインのサイズも巨大ではないので重宝させてもらうかもしれません。



check

リンク

2010/9/4(Sat) 21:31:36|NO.34844

これはいいな。
だが、手持ちのmp3ファイルをロードしたところ、
不明なフォーマットです、と言われその後HSPがシステムエラーで落ちたファイルがあった。
同じ内容のwaveファイルは再生できた。

手持ちのmp3ファイルのうち、大部分のmp3ファイルが上記のエラーか、
フレームヘッダが見つかりませんでしたと言われて読み込めないな。
デコーダはffmpegを使用しているのだが……



check

リンク

2010/9/4(Sat) 21:52:23|NO.34847

ほかにも見つけたバグをいくつか
・ファイルの先端に無音部分があると音声が再生されない。
・ファイルをループ再生すると左右の波形が入れ替わったファイルがあった。(短めのwavファイル)
・ファイルの読み込みに失敗するとla_total、la_statusなどの関数でシステムエラー。

あとは、オンメモリかストリーミングをプラグイン使用者が選べる機能もあればいいと思ったな。
バグ修正は大変だと思われますが、気長にやってもらえると幸いです。



check

リンク

2010/9/4(Sat) 22:06:30|NO.34848

ほかにもバグを見つけてしまった
sample4のプレイヤーで、
・フェードアウトして停止してもボリュームが元に戻らない。
・曲を一回再生し終わると、二回目以降再生してもすぐに途切れてしまう。



りゅん

リンク

2010/9/4(Sat) 23:06:45|NO.34849

panda さん、check さん、動作確認とバグ報告ありがとうございます!
なんかもう申し訳ないくらい致命的なバグまで発見していただいて…… ホントに感謝です><

オンメモリかストリーミングを選べる機能は実装しておきたいと思います。
おふたりとも、本当にありがとうございます。




check さん、ちょっと質問させてください。

>フレームヘッダが見つかりませんでしたと言われて
手元にその類のmp3ファイルがなかったので何とも言えないのですが、
もしかして再生しようとしたmp3ファイルは、曲名とかアーティスト名とかの情報のないmp3ファイルだったりしますか?(=ID3 タグのないmp3ファイル?)



check

リンク

2010/9/4(Sat) 23:27:54|NO.34850

タグ情報があるファイルだとほぼ確実に落ちるな。
タグ情報がないファイルでもいくつか読み込めるぐらいだな。



りゅん

リンク

2010/9/7(Tue) 19:29:25|NO.34906

読み込めない mp3 ファイルがあるバグと、ほか数点を修正しました。
(同期ヘッダの確認してなかった… orz)

あと、check さんに報告していただいた

・ファイルの先端に無音部分があると音声が再生されない。
・ファイルをループ再生すると左右の波形が入れ替わったファイルがあった。

の2点は、現在確認中です。
とりあえず手持ちのファイルを片っ端から試しているので、もうしばらく時間をください。m(_ _)m



フロウ

リンク

2010/9/20(Mon) 01:16:18|NO.35061


#include "laudio.as" la_load "bgm01.mp3"

このバッファにはサウンドデータを追加できません
index:0


#include "laudio.as" la_play_bgm "bgm01.mp3"

#Error 1 in line 61(laudio.as)
システムエラーが発生しました

こんなエラーが出たんですがなぜでしょうか?



りゅん

リンク

2010/9/21(Tue) 21:45:30|NO.35093

フロウさん、コメントありがとうございます。


エラーについてですが、la_init でプラグインの初期化を行っていないからかもしれません。

#include "laudio.as" la_init la_load "bgm01.mp3"
…のように、#include "laudio.as" と la_load の間に la_init を書き加えて試してみてください。



フロウ

リンク

2010/9/24(Fri) 21:04:24|NO.35135

la_initを書き加えたらうまくいきました。
このような便利なプラグインを作っていただきありがとうございます。



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