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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0224
Sado再生位置の取得と設定、2曲の同期...etc3解決


Sado

リンク

2016/2/24(Wed) 23:20:43|NO.74695

メニュー画面などで、シーンを進めていくごとに楽曲の音(楽器)の数を増やし、
盛り上がらせていきたいと思っています。

メニュー画面トップ:BGM01A(ドラムだけ) 出撃機体選択画面 :→BGM01B(BGM01Aの再生位置から再生/ピアノ追加) ステージ選択画面 :→BGM01C(BGM01Bの再生位置から再生/オルガン追加) のような
これを行うためには、
「再生位置の取得・途中再生・再生時やループ時のラグが少ないor無い」
などの条件が必要になってくると思うのですが、
何を使えばいいのかで悩んでいます。



mm系はそもそも途中再生ができないですし、
dmm系は途中再生が行えるようですが、再生位置の取得が0.25ms単位でしか取得できません。
mciはラグが大きいように感じますし、……
この場合、音声再生に何を使うと良いか、お教えいただけませんか?


oggかwav(容量が気になるのでogg優先)を利用しようと考えています。



この記事に返信する


玄冬

リンク

2016/2/27(Sat) 09:51:43|NO.74715

多少重くなりますが
ドラム/ピアノ/オルガンをそれぞれ別のwavにして、
すべての音源を頭から再生→画面ごとに不要なパートを
ミュートにすればよいのではないでしょうか。


#include "hgimg3.as" dmmini dmmload "音源1.wav", 0,1 dmmload "音源2.wav", 1,1 dmmload "音源3.wav", 2,1 dmmvol 0, 0 dmmvol 1,-10000 dmmvol 2,-10000 dmmplay 0 dmmplay 1 dmmplay 2 button "シーン1", *S1 button "シーン2", *S2 button "シーン3", *S31 stop *S1 dmmvol 0, 0 dmmvol 1,-10000 dmmvol 2,-10000 stop *S2 dmmvol 0, 0 dmmvol 1, 0 dmmvol 2,-10000 stop *S3 dmmvol 0, 0 dmmvol 1, 0 dmmvol 2, 0 stop



K-s

リンク

2016/2/27(Sat) 19:40:30|NO.74718

ogg再生ならovplayがオススメです。hspoggと大体同じ使い方ができ、SEにogg使えたりストリームの同時再生もできます。
http://www.geocities.jp/anachronism128/plugin.html

hspoggとovplayでサンプル作ってみました。
途中再生を使って音源を切り替える方法と、
玄冬さんの方法(全部同時再生して音量で切り替える)の2種類あります。
http://www1.axfc.net/u/3625799?key=hsp

個人的には音量で切り替える方法がいいです。組合せも増えるし、フェードで被せたりもできるので。
今のPCだとメモリや再生負荷もそんなに気にならないはず…



Sado

リンク

2016/2/28(Sun) 00:32:39|NO.74723

>玄冬さん
なるほど、予め音量を下げて同時再生させて置くのですね。
この方法だとdmm系の都合上wavしか使えない点が、(容量厨な)僕にとっては結構痛いです。
それにしても、なるほど。

>K-sさん
これです!しかも、dmm系で正確に再生位置を保持する方法があったなんて、驚きです。
timer()関数を使えば良いのですね!
(起動時間が億ミリ秒を超えた時にhspで計算できなくなる不安が残りますが、
こればかりは気にしてもしょうがない……)

ov_系は存在そのものを知りませんでした……勉強不足すぎる。
ループ位置が細く設定できそうですし、曲の情報取得で曲情報を入力する手間も省けそう。
ov_系はとても便利そうなので積極的に使っていこうと思います。



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