「PsmStudio」タグのついた投稿

結構時間は立ちましたがPSMゲームジャムでMonoGamesを使った際、音の再生で問題が有ったので音の再生に関してメモします (ドキュメントを見た方が早い気もしますが・・・)

 

今回は効果音の再生についてメモします。PSMではWave形式のファイルが効果音として使用されており、現在のバージョンでは他の形式はサポートしていないみたいです。

 

効果音の再生にはSce.PlayStation.Core.Audioネームスペース内にあるSoundクラスと、SoundPayerクラスが使用されます

 

Soundクラスは効果音自体を保持するクラスです。Soundクラスを生成するにはプロジェクトに追加している効果音ファイルのパスを渡すか、音データを表すByte型のデータを渡す事が出来ます。Byteデータの方はプログラム上で変換したり、別のファイル読み込みで獲得したデータを使う時等に使用できます。

 

Sound se = new Sound("/Application/SE/Select.wav" );

 

データを読み込みSoundクラスを作った後、今度は読み込んだ音を再生する為のSoundPlayerを作成します。SoundPlayerはSoundクラスのCreatPlayer()メソッドを呼び出す事で生成されます。

 

SoundPlayer soundPlayer = se.CreatPlayer();

 

後はSoundPlayerのPlay()メソッドを呼ぶだけで再生できます。

 

soundPlayer.Play();

 

ドキュメントにも書いてありますが、一つのSoundクラスから複数のSoundPlayerを作成する事が出来、それにより同じ効果音を別々に再生する事が出来ます。

 

再生する音の音量等はSoundPlayerクラスで調整できます。詳しくはドキュメントを参照した方が良いと思いますが、細かい調整意外で使用しそうなプロパティを書いておきます:

 

音量をの変更( 0.0f~1.0f の間。0.0fが0%で1.0fが100%)

soundPlayer.Volume = 0.75f;

ループ再生の切り替え

soundPlayer.Loop = false;

再生の状態( 停止中か再生中か)

// 停止中の場合は再生する処理
if ( soundPlayer.Status == SoundStatus.Stopped )
{
     soundPlayer.Play();
};

 

今回は以上です。

次回は多分BGMの再生をメモします。

ネタがある時限定になりますが、PsmStudioに関するメモも始めます! (他同様、自分用が主になりそうですが・・・)

 

今回はPsmStudioのIDE (MonoDevelopの事です)を使用している時に起こる不具合の対処についてメモります。

 

自分がIDEを使用していると、何故か偶にテキストエディターが全部白くなったり、メニュー上の中身が無くなっていたり、といった不具合が起こりました。

正直、不便すぎて極力外部のテキストエディターで作業していたレベルです(自分はVisual Stusio ラブな人です)。

 

この前、ゲームジャムでSCEの人に会う機会があったので聞いてみたところ、なんとUnityをインストールしている事が原因でした!

具体的に言えば、Unityをインストールした際に、GTK#のバージョン2.12.20がインストールされる事でした。PsmStudioはGTK#のバージョン2.12.10が使用されている為、色々と不具合が起こります。

 

簡単な解決策はGTK#をアンインストールして、バージョン2.12.10をインストールするだけです。

ただ、これを行うと今度はUnityのMonoDevelopを使用出来なくなるので、そこは気をつける必要があります。

 

今回は以上です。SCEさんこの不具合何とかしてくれないかなぁ・・・