[[戻る>TinyArcade]]
*BGMとSE同時再生 [#d1fd7632]
プログラムが複雑になってしまったのでクラス化した。とりあえず使い方だけ説明。SDカードには対応していない。~
サンプルプログラムはBGMを再生して左ボタンで「ひよこの鳴き声」「ジャンプ音」が交互に再生、右ボタンで「やられ音」が再生する。~
各チャンネルには以下の通りに登録されていて最大3音同時再生される。~
チャンネル0「BGM」~
チャンネル1「ひよこの鳴き声」「ジャンプ音」~
チャンネル2「やられ音」~
「ひよこの鳴き声」と「ジャンプ音」は同じチャンネルに登録されているので後から再生された方が1つのみ再生される。~
*SoundPlayerの使い方 [#ob0b3213]
SoundPlayerはSoundStreamとSoundMixerを使用している。~
そのためSoundPlayerを使用するには下記の6つのファイルが必要になる。~
SoundStream.hpp~
SoundStream.cpp~
SoundMixer.hpp~
SoundMixer.cpp~
SoundPlayer.hpp~
SoundPlayer.cpp~
 ■includeファイル
 #include "SoundPlayer.hpp"
 #include "TwinkleBeep04_11KHz_8bit_mono.h" // サウンドデータ
 ■SoundPlayerを11025Hzで再生する設定にして初期化
 SoundPlayer::Initialize(11025);
 ■SoundPlayerはシングルトンなのでインスタンス取得する
 SoundPlayer& sound_player = SoundPlayer::GetInstance();
 ■サウンドプレイヤーにデータを登録 引数は左からチャンネル,データ,データサイズ,ループするかどうかのフラグ
 int bgm_handle = sound_player.Append(0, TwinkleBeep04_11KHz_8bit_mono_wave, static_cast<int>(sizeof(TwinkleBeep04_11KHz_8bit_mono_wave)), true);
 ■サウンド再生 引数はAppendの戻り値
 sound_player.Play(bgm_handle);
 ■サウンド停止 引数はAppendの戻り値
 sound_player.Stop(bgm_handle);
 ■loop関数で毎回呼び出す
 sound_player.Update();
詳しくはサンプルソースのSoundSample2.inoを見てください。~
*実行結果 [#b69e9707]
#ref(SoundSample2.jpg)
*サンプルプログラムのダウンロード [#aec19ca3]
#ref(SoundSample2.zip)~


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS