20.11.2016 Views

ANDROID APP

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

164 บทที่ 6 เทคนิคการทำางานร่วมกับมัลติมีเดีย<br />

ในหัวข้อนี้เราจะใช้ไฟล์เลย์เอาต์ที่แสดงในชุดคำสั่งที่ 6.7 โดยแอคทิวิตี้หลักจะแสดงไว้ในชุด<br />

คำสั่งที่ 6.10 เวลาที่กดปุ่ม SoundPool ก็จะเล่นเสียงกลองจำนวน 8 ครั้ง (เล่นในขั้นตอนเริ่มทำงาน<br />

1 ครั้ง และสั่งให้ทำซ้ำอีก 7 ครั้ง) เราสามารถเล่นข้อมูลสตรีมนี้ได้พร้อมกัน 10 สตรีม ซึ่งหมายความ<br />

ว่าถ้าเรากดปุ่มอย่างรวดเร็วจำนวน 10 ครั้ง ระบบก็จะสร้างเธรดเพื่อเล่นเสียงกลองพร้อมกันทั้งหมด<br />

ชุดคำสั่งที่ 6.10 src/com/cookbook/audio_ex/AudioExamplesSP.java<br />

package com.cookbook.audio_ex;<br />

import android.app.Activity;<br />

import android.media.AudioManager;<br />

import android.media.SoundPool;<br />

import android.os.Bundle;<br />

import android.view.View;<br />

import android.widget.Button;<br />

public class AudioExamplesSP extends Activity {<br />

static float rate = 0.5f;<br />

@Override<br />

protected void onCreate(Bundle savedInstanceState) {<br />

super.onCreate(savedInstanceState);<br />

setContentView(R.layout.main);<br />

Button playDrumButton = (Button) findViewById(R.id.play_pause);<br />

final SoundPool mySP = new<br />

SoundPool(10, AudioManager.STREAM_MUSIC, 0);<br />

final int soundId = mySP.load(this, R.raw.drum_beat, 1);<br />

}<br />

}<br />

playDrumButton.setOnClickListener(new View.OnClickListener() {<br />

public void onClick(View view) {<br />

rate = 1/rate;<br />

mySP.play(soundId, 1f, 1f, 1, 7, rate);<br />

}<br />

});

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!