PsmStudioメモ – 音の再生1 : 効果音の再生

Posted: 2013年8月31日 カテゴリー: プログラミングメモ, 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の再生をメモします。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中