2007/05/05(土) [n年前の日記]
#1 [iappli] サウンド関連を修正
修正要求が来たので対応してたのだけど。楽勝の内容かと思ったら、甘かった。見誤った。
SEのループ再生は考えてなかったので、関連部分をかなり書き直し。してるうちにエンバグ。サウンド停止ができなくなったり。同じSEデータをループと非ループにする方法で悩んでしまい、結局同じデータを持ってしまうというダメダメぶり。再生終了イベント検出で、どのサウンドが鳴っていたかは判るが、本来どの属性で鳴らしていたモノか、その管理方法が思いつかず。
iアプリの場合、サウンドが2ポートしかないのもアレで。BGMとSEを同時再生したらそれで終わりなわけで。何かのSEを鳴らしてる最中に別SEを鳴らすと、後から再生したSEでポートが上書きされて、今まで再生されていたSEは消える。…牌を捨てるときのSEでほとんどのSEは聴こえなくなってしまうという。SEに優先順位をつけねばならない気もするが、現在鳴っているSEが何かを正確に把握する方法が思いつかず。全部のサウンドに対して再生終了イベントを設定してしまったら、それはそれで問題が起きるのではという懸念も。さりとて時間で管理するにはどこかの段階で再生時間を正確に測定する必要があるし、おそらくそれは実機毎に異なるデータになりそうでもあるので手持ちの機材では測定のしようもなく。
SEのループ再生は考えてなかったので、関連部分をかなり書き直し。してるうちにエンバグ。サウンド停止ができなくなったり。同じSEデータをループと非ループにする方法で悩んでしまい、結局同じデータを持ってしまうというダメダメぶり。再生終了イベント検出で、どのサウンドが鳴っていたかは判るが、本来どの属性で鳴らしていたモノか、その管理方法が思いつかず。
iアプリの場合、サウンドが2ポートしかないのもアレで。BGMとSEを同時再生したらそれで終わりなわけで。何かのSEを鳴らしてる最中に別SEを鳴らすと、後から再生したSEでポートが上書きされて、今まで再生されていたSEは消える。…牌を捨てるときのSEでほとんどのSEは聴こえなくなってしまうという。SEに優先順位をつけねばならない気もするが、現在鳴っているSEが何かを正確に把握する方法が思いつかず。全部のサウンドに対して再生終了イベントを設定してしまったら、それはそれで問題が起きるのではという懸念も。さりとて時間で管理するにはどこかの段階で再生時間を正確に測定する必要があるし、おそらくそれは実機毎に異なるデータになりそうでもあるので手持ちの機材では測定のしようもなく。
[ ツッコむ ]
以上です。