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


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0818
masmciのseekの仕様について6解決


mas

リンク

2021/8/18(Wed) 18:01:23|NO.93614

こんにちは。mci命令に関しての質問です。
去年の6月頃、mciのseekを使用してMP3ファイルのサビから再生するプログラムを作成(予めミリ秒で指定しておく)し、実際にうまく動作していました。
ところが最近になってそのプログラムを動かしてみると、大抵の楽曲は再生すらされず、再生されたものでも指定した位置と全く異なるところから再生される……というおかしな状態になってしまいました。
もちろんそのMP3ファイルは特に手をつけていません。
実行環境は変わらずWindows 10です(アップデートは掛けています)。

そこで、

onexit *endprocess mci "set HSP time format milliseconds" dialog "wav;*.mp3;", 16 if stat = 0 : end mci "open \""+refstr+"\" type mpegvideo alias HSP" mci "seek HSP to 15000" mci "play HSP" stop *endprocess mci "close HSP" end
の、ダイアログボックスで指定したファイルを15000msから再生するプログラムを作成し、いろいろなファイルの再生を試みたのですが、
やはり前述のプログラムよろしく、再生すらされないか15秒とは異なる位置から(その位置もバラバラ)という状態になってしまいます。

そこで質問です。
1.上記スクリプトを動作させてみて、お手持ちのMP3ファイルはちゃんと15秒から再生されましたか?
2.HSP3の拡張プラグインで、この機能の代替となるような、MP3ファイルをミリ秒で再生位置を指定できるようなプラグインはありますか?

よろしくお願いいたします。



この記事に返信する


UT-X

リンク

2021/8/18(Wed) 18:49:05|NO.93616

1.様々な種類のMP3ファイルで試しましたが、特に問題はありませんでした。
環境:Win10-64bit Ver21H1 HSP3.6
私は数年前にMCIを使ってゲームのBGMをABループさせるプログラムを作ったのですが、
そのプログラムは今でも問題なく動いています。
また、MCIのplay命令には再生位置を指定するパラメータがあり、私はそれを使っていました。
mci "play HSP from 15000";例 「HSP」を15秒から再生

2.ovplayというプラグインを以前使っていましたが、 再生位置の指定やABループを1命令でできる代わりにOGGとWAVしか対応していませんでした。 さらに指定方法もミリ秒ではなくサンプリング数で使いづらかったので、 上述のプログラムを作るころにはMCIに移行していました。



mas

リンク

2021/8/19(Thu) 11:50:14|NO.93624

UT-Xさん、ご回答ありがとうございます。

>>様々な種類のMP3ファイルで試しましたが、特に問題はありませんでした。
うーん、やはりいわゆるおま環なのでしょうか……。

>>mci "play HSP from 15000";例 「HSP」を15秒から再生
こういう書き方ができるんですね、ありがとうございます。

>>ovplayというプラグインを以前使っていましたが
そうですよね、ovplayやhspoggも検討してみたのですが、ミリ秒での再生位置指定はできないみたいで……。



UT-X

リンク

2021/8/19(Thu) 12:36:39|NO.93625

一度コンフィグファイルだけ避難させたうえでHSP本体を削除→再インストールするのはどうでしょうか?
HSP側に問題がある可能性もあります。
これでできなかったらグラフィックボードやサウンドの設定を見直したり、
Windows10を初期化する以外に方法はなさそうです…



mas

リンク

2021/8/19(Thu) 14:38:26|NO.93626

すいません解決しました。
Audacityで320kbpsで出力したMP3ファイルを読み込ませたらうまく行きました(今までは180kbpsになってたみたいです)。
色々ビットレートを変えて試してみましたが、320kbps以外は正しく動作しませんでした。
大丈夫そうなので、解決とさせていただきます。
UT-Xさん、ご回答いただきありがとうございました。



UT-X

リンク

2021/8/19(Thu) 14:51:06|NO.93627

多くのMP3は128kbpsや192kbpsなのですが、
これら2つのビットレートだとどうでしょうか?



mas

リンク

2021/8/19(Thu) 15:23:27|NO.93629

UT-Xさん

私は勘違いしていたようで、mci命令において重要なのはビットレート数ではなくビットレート方式のようです。
AudacityでMP3を固定ビットレート(CBR)で出力したら、正しく15秒にシークしました。
可変ビットレート(VBR)、平均ビットレート(ABR)で出力したら正しくシークしませんでした。

なので、固定ビットレートで出力したMP3なら、320kbpsでも192kbpsでも128kbpsでもmciは正しく動作可能と私は解釈しています。



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