無限ループ再生時のmmvolについて
時岡 2013/6/16(Sun) 17:59:54|NO.54956
はじめまして、HSP3Dish での開発を楽しんでおります。
さて、
BGM用にmp3音源を無限ループ再生再生しております。
その際に「mmvol」で音量を設定した直後は、正しい音量で再生されているのですが
音源がループ再生する際に音量が設定前の大きさに戻ってしまう様です。
音量設定の際に、注意する点や、既知の問題などありましたでしょうか?
※検索してみたのですが「コレだ!」と言う情報は見つけられませんでした。
よろしくお願いします。
しまくろねこ(おにいさん) 2013/6/16(Sun) 19:23:20|NO.54966
こんにちわ。
気になって試してみましたがWindows上だとmmvolで指定した音量は実際の音量に反映されて無いみたいですね。
以下のようなケースをWindows上とAndroid実機それぞれで試しました。
Windows
ケース1:最大音量で再生。ループ後も最大音量。
ケース2:最大音量で再生。ループ後も最大音量。(Windows上だとmmvolの音量はもしかして反映されてない?)
Android
ケース1:最大音量で再生。ループ後も最大音量。
ケース2:かすかに聞き取れる小さな音量で再生。ループ後も小さな音量で再生。(Android上だとmmvolの音量が反映されている)
;-------ケース1
mmload "test.mp3", 0, 1
mmvol 0, 0
;-------ケース2
mmload "test.mp3", 0, 1
mmvol 0, -900
最初にmmvolで設定した音量を、さらにどこかでmmvolで音量を変更しているとか?
時岡 2013/6/16(Sun) 23:54:28|NO.54974
しまくろねこ(おにいさん)様
ご確認ありがとうございました。
あれから、コチラでもソースを確認しておりまして
当方のコード上のミスを発見しました。
※mmplay/mmvolで使用する値を未定義のマクロで記述している個所がありました。
ご指摘の通りmmvolを複数回呼び出しておりました。(確認不足ですみません)
しかしながら、ループ再生時に音量設定が最大値に戻ってしまう現象は解決しませんでした。
また、当方の開発環境では、初回設定時には、Windows上でも音量変更ができております。
しまくろねこ(おにいさん) 2013/6/17(Mon) 17:46:19|NO.54982
こんにちわ。暑いですね。
以下の2つのソースをWindows上で走らせてもやっぱり私の環境ではmmvolでの音量はなにも変わって無いようです。
ケース1, 2共に同じ音量(大きく)で再生されます。ループ後も同じでした。
mmvolの第2パラメータに「-1000」を指定すると無音になるはずが普通に聞こえてました。
Android実機だと音量は正しく変更されているようです。
時岡さんのWindows/Android共にループ再生後に音量が設定前に戻ってしまうのでしょうか?
;-------ケース1
#include "hsp3dish.as"
mmload "test.mp3", 0, 1
mmvol 0, 0
mmplay 0
stop
;-------ケース2
#include "hsp3dish.as"
mmload "test.mp3", 0, 1
mmvol 0, -1000
mmplay 0
stop
ちなみに私の環境は、
WindowsXP
HSP3.4β1
です。
しまくろねこ(おにいさん) 2013/6/17(Mon) 22:52:14|NO.55016
時岡さんの言っていた通りの現象がこちらでも確認できました。
私の場合、最初「mmplay」で再生する前に「mmvol」で音量を指定していましたが、これだとWindows上ではなぜか始めから設定した音量で再生されませんでした。
この順番を逆にして「mmplay」で再生した直後に「mmvol」で音量を設定すると、Windows上でも始めから設定した音量で再生されました。
また、「mmplay」で再生した直後に「mmvol」で音量を設定すると、ループ再生後に設定したはずの音量が一番最初に戻ってしまう現象がでました。(おそらく戻った音量はデフォルトの「0」)
現象確認ソース
(ループする前は小さな音量で再生されているが、ループすると音量が大きくなる)
#include "hsp3dish.as"
mmload "test.mp3", 0, 1
mmplay 0
mmvol 0, -800
stop
ちなみにAndroid実機では「mmplay」で先に再生しようが、「mmvol」で先に音量が変えようがどちらが先でも、再生される音量は「mmvol」で設定した音量で再生され、なおかつループ再生も「mmvol」で設定した音量で再生されていました。
時岡さんもWindows上だけでこの現象(ループ再生直後音量が戻る)が起きるでしょうか?
おにたま(管理人) 2013/6/17(Mon) 23:59:56|NO.55027
ご報告ありがとうございます。
mmvol命令は、再生時、再生停止時も設定された音量を反映するのが正しい挙動です。
Windowsで正しく音量が反映されない点は、今後修正していきたいと思います。
時岡 2013/6/18(Tue) 12:52:04|NO.55037
しまくろねこ(おにいさん)様
色々とご確認、重ねてありがとうございます。
当方と同じ現象が再現したとのお話で一安心(?)です。
検証して頂きました通り、当方でも試行錯誤した結果
Windows環境では、「mmplay」で再生した直後に「mmvol」で音量を設定する方法で音量調整を実現できております。
Android環境では、問題は再現しませんでした。
おにたま(管理人)様に頂きましたコメントですと、
※おにたま(管理人)様コメントありがとうございます。
>mmvol命令は、再生時、再生停止時も設定された音量を反映するのが正しい挙動です。
>Windowsで正しく音量が反映されない点は、今後修正していきたいと思います。
今回の件は、修正対象になる案件とのご判断を頂いたかと思います。
修正の反映をお待ちいたします。
HSPは手軽で高度な処理も(本人の努力と技術で)可能な大変魅力的な言語だと思っております。
皆様にはいろいろと大変でしょうが、更なる完成度と機能の向上を望みます。
ひとまず、この案件についての現場でのお話は解決?とさせて頂きます。