イースマイル株式会社 : Human is designed. デザイン[design]するイースマイルです。
E-Smileってどんなとこ?
ホーム サイトマップ

アンドロイド教材


    電話機?!・・・効果音を鳴らす

    今回は、ちょっとした効果音を鳴らしてみましたよ〜
    画面は、電話機のように数字を並べて、
    ボタンを押すと、ピー、ポー、パー
    懐かしく、かわいらしい、タッチ音がなります。

    まずは、こちらのムービーをご覧ください。 効果音のデモムービーを再生[AVI形式]

    sePhone.zipのダウンロード

効果音は、SoundPool パッケージを使っています。

import android.media.SoundPool;
import android.media.SoundPool.OnLoadCompleteListener;

WAVデーターを、res/drawable に配置( m0.wav 〜 m9.wav まで10種類のタッチ音)

// // テーブルを作っておきましょう。 // public int[] se_idno = { R.drawable.m1, R.drawable.m2, R.drawable.m3, R.drawable.m4, R.drawable.m5, R.drawable.m6, R.drawable.m7, R.drawable.m8, R.drawable.m9, R.drawable.m0, }; // // SEを格納する、配列を作成 // soundID = new int[10]; // // シーケンス管理も、10個分作成。これで同時10発音管理できます。 // streamID = new int[10]; // // soundPool オブジェクトの初期化(se_idno.length を確保して、10個まで同時に発音可能) // soundPool = new SoundPool( se_idno.length, AudioManager.STREAM_MUSIC, 0); // // onLoadComplete をオーバーライドして、効果をすべて読み込んだら、loaded = true; フラグ設定します。 // // これで読み込み中は、効果音の処理をキャンセルできます。※ ver2.3 から対応 // soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() { @Override public void onLoadComplete(SoundPool soundPool, int sampleId, int status){ loaded = true; } }); // // こちらは、実際の読み込み処理です。 // for( int i = 0; i < se_idno.length; i++) { soundID[i] = soundPool.load(this, se_idno[i], 1); } // // 発音処理。loaded は、読み込み完了で、true となります。 // // index は、0〜9 まで。(ボタン上の数字とリンクしています) // public boolean onTouch(View v, MotionEvent event) { Button button = (Button) v; int index = button.getId() - R.id.button1; if(event.getAction() == MotionEvent.ACTION_DOWN) { button.setText("On"); if (loaded) { soundPool.stop(streamID[index]); streamID[index] = soundPool.play(soundID[index], 1.0f, 1.0f, 1, 0, 1f); } } else if(event.getAction() == MotionEvent.ACTION_UP){ button.setText( numbers[index] ); } return false; }
Human is designed.
基本概念
Android Program
[アプリ公開手順 8.12]
[Google Map 8.09]
[Socket 8.04]
[Layout 8.03]
[SDCARD 8.01]
[BGM 7.31]
[効果音 7.30]
[回転拡縮 7.24]
[アニメーション 7.13]
[背景スクロール 7.12]
プログラム[2011.7.10]
環境構築[download]
環境構築[install]
環境構築[AVD]
FaceBook[アプリ]
FaceBook[SDK]
FaceBook[Sample]
Web Program
3D Program
Linux Server

イースマイル株式会社
〒103-0016 東京都
中央区日本橋小舟町8-6
新江戸橋ビル4F
TEL.03-5652-5566(代)
FAX.03-5652-5358
[地図] [お問い合わせ]


(C)2005 E-Smile., Co, Ltd. All rights reserved.