Android携帯ゲームを作って世界に配信してみよう(3) ―― 効果音の入れ方とデータの保存処理を学ぶ

山田 元康

tag: 組み込み

エレキ系DIY 2011年12月 7日

●音声ファイルを読み込む:SoundPoolクラスのloadメソッド

 次は,音声ファイルを読み込む,SoundPoolクラスのloadメソッドを解説します.

public int load (Context context, int resId, int priority)

 loadメソッドは,引き数が異なるいくつかのパターンが用意されていますが,今回は,アプリケーション・ファイル(*.APK)に同梱したファイルから音声を読み込むメソッドを紹介します.引き数と戻り値は表4の通りです.

 

表4 SoundPoolクラス loadメソッドの引き数と戻り値

第1引き数
context
コンテキストを指定する
第2引き数
resId
読み込みたいファイルのリソースID(整数値)を指定する
第3引き数
priority
再生品質を指定する引数だが,現在のところ設定しても効果はないようだ.今後の互換性の点で,1を指定することが推奨されている
戻り値 音声ID(soundID/整数値)を返す.音声IDは,読み込んだ音声を管理するものである.特定の音声の再生や停止,解放をする際に,音声IDを指定する

 

●音声ファイルの再生:SoundPoolクラスのplayメソッド

public final int play (int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate)

 次は,音声の再生の方法です.playメソッドで,音声ファイルを読み込んだ際に取得した音声ID(soundID)を利用して,再生したい音声を指定しています.なお,コンストラクタで指定した同時再生音声数を超えると再生されている音声が中断します.引き数と戻り値は表5を参照してください.

 

表5 SoundPoolクラス playメソッドの引き数と戻り値

soundID loadメソッドが返した音声IDを使って再生したい音声を指定する
leftVolume 左のボリューム (0.0~1.0)
rightVolume 右のボリューム (0.0~1.0)
priority 再生優先順位を指定する.0が一番低い優先順位である
loop ループ回数を指定する.
0: ループしない
-1: 無限ループ
1~: 指定した回数だけループする
rate 再生ピッチを,0.5(1/2速) ~ 2.0(倍速)の範囲で指定する.標準は 1.0である
戻り値 再生が成功すると,再生ID(streamID)を返す.この再生IDは,必ず0以外の整数値である.再生できなかった場合は,0が返る.この再生IDを使って,再生停止等の再生管理を行う

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日