こんな理由とは・・・。マオです。

前回の記事でMLを導入すると音が出なくなると書いたんだけど、理由が分かった気がする。
サウンドシステムは別のスレッドで処理されるみたいで、メインスレッドから独立している。
このサウンドシステムは1つしか起動出来ずに、複数起動させようとするとエラーを出して無音モードに移行する。
通常であれば2つ以上起動する事は無い。
しかし、今回MLを入れると2つ以上起動してしまい、無音モードに突入してしまうのだ。
その理由は憶測だが、MLの初期化作業でこのサウンドシステムに対して再起動(終了して起動する)をする部分(これは公式のコードで、リソースパックの入れ替え時にも発生する)がある。
流れとしては、公式がサウンドシステムを起動した後にMLがサウンドシステムを再起動するという作業をしている。
起動の命令はメインスレッドで行われるが、実際の起動処理は別スレッドで行われている。
で、公式起動をした後の起動処理中にMLが再起動をかけているんじゃないかと思っている。
つまり、起動中なので終了出来ないで起動しようとしている。
なので、2つ以上起動してエラー、音出ない状態。

さ、これを回避する為にこれを用意した。

ML1.6SoundFix

modsに入れるだけの簡単なお仕事です。
やってる事は簡単。
起動時に3秒止めるだけです。
これにより、サウンドシステム起動までの時間を稼いで、正常に再起動できるようになる可能性があります。
うちではこれで直った。

これで安心してUgo移植作業に戻れるわ。

カテゴリ/タグ:月面開発室 /    
コメント (2)

コメント (2)
  1. な、なるほどー(RMLの導入ですら手こずってるなんて言えない・・・)

    コメント by 変形もの作りたい   2013-07-03(水) 23:26:00
  2. >>1 変形もの作りたいさん
    新ランチャーになってから、微妙に分かり難くなりました。
    旧版では配置とか色々弄ってたので、心地よい形にするのに一苦労しました。
    日本ではMLの導入解説も無さそうだし、そこら辺を作ったら見る人はいるのだろうか・・・(笑)

    コメント by マオ   2013-07-04(木) 0:03:20

コメントフォーム(注:投稿内容にURLがある場合、管理者の確認の上で公開する設定になっています)