20.11.2016 Views

ANDROID APP

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

String text_string;<br />

final Handler mHandler = new Handler();<br />

// Create runnable for posting<br />

final Runnable mUpdateResults = new Runnable() {<br />

public void run() {<br />

updateResultsInUi(text_string);<br />

}<br />

};<br />

private void updateResultsInUi(String update_txt) {<br />

statusText.setText(update_txt);<br />

}<br />

private void record_thread() {<br />

Thread thread = new Thread(new Runnable() {<br />

public void run() {<br />

text_string = "Starting";<br />

mHandler.post(mUpdateResults);<br />

record();<br />

}<br />

text_string = "Done";<br />

mHandler.post(mUpdateResults);<br />

}<br />

});<br />

thread.start();<br />

private int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;<br />

int frequency = 11025; //Hz<br />

int bufferSize = 50*AudioTrack.getMinBufferSize(frequency,<br />

AudioFormat.CHANNEL_OUT_MONO, audioEncoding);<br />

// Create new AudioRecord object to record the audio.<br />

public AudioRecord audioRecord = new AudioRecord(<br />

MediaRecorder.AudioSource.MIC,<br />

frequency, AudioFormat.CHANNEL_IN_MONO,<br />

audioEncoding, bufferSize);<br />

// Create new AudioTrack object w/same parameters as AudioRecord obj<br />

public AudioTrack audioTrack = new AudioTrack(<br />

AudioManager.STREAM_MUSIC, frequency,<br />

AudioFormat.CHANNEL_OUT_MONO,<br />

audioEncoding, 4096,<br />

AudioTrack.MODE_STREAM);<br />

short[] buffer = new short[bufferSize];<br />

public void record() {<br />

try {<br />

audioRecord.startRecording();

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

Saved successfully!

Ooh no, something went wrong!