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.

วิดีโอ<br />

165<br />

กรรมวิธี: การเพิ่มรายการเสียงและการอัพเดตตำแหน่งที่เก็บข้อมูล<br />

หลังจากที่เราทดลองสร้างแอพที่สามารถบันทึกและเล่นไฟล์เสียงได้แล้วนั้น เราจะใช้งานคลาส<br />

MediaStore เพื่อจัดการตำแหน่งที่เก็บข้อมูลและอัพเดตรายการข้อมูลเพื่อให้ระบบสามารถนำไปใช้<br />

งานได้ ชุดคำสั่งที่ 6.11 จะแสดงการกำหนดแหล่งของข้อมูลเพื่อแสดงรายการของไฟล์เสียงเรียกเข้า<br />

และเสียงแจ้งตือนต่างๆ ซึ่งรายการไฟล์เหล่านี้จะไม่แสดงในแอพประเภท MP3 Player (เพราะค่า<br />

ของ IS_MUSIC มีค่าเป็น false)<br />

ชุดคำสั่งที่ 6.11 ตัวอย่างของการอัพเดตรายการข้อมูลเสียงเพื่อให้ระบบสามารถนำไปใช้งานได้<br />

//reload MediaScanner to search for media and update paths<br />

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,<br />

Uri.parse("file://"<br />

+ Environment.getExternalStorageDirectory())));<br />

ContentValues values = new ContentValues();<br />

values.put(MediaStore.MediaColumns.DATA, myFile.getAbsolutePath());<br />

values.put(MediaStore.MediaColumns.TITLE, myFile.getName());<br />

values.put(MediaStore.MediaColumns.TIMESTAMP,<br />

System.currentTimeMillis());<br />

values.put(MediaStore.MediaColumns.MIME_TYPE,<br />

recorder.getMimeContentType());<br />

values.put(MediaStore.Audio.Media.ARTIST, SOME_ARTIST_HERE);<br />

values.put(MediaStore.Audio.Media.IS_RINGTONE, true);<br />

values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);<br />

values.put(MediaStore.Audio.Media.IS_ALARM, true);<br />

values.put(MediaStore.Audio.Media.IS_MUSIC, false);<br />

ContentResolver contentResolver = new ContentResolver();<br />

Uri base = MediaStore.Audio.INTERNAL_CONTENT_URI;<br />

Uri newUri = contentResolver.insert(base, values);<br />

String path = contentResolver.getDataFilePath(newUri);<br />

ค่าของ ContentValues จะใช้ในการประกาศคุณสมบัติพื้นฐานบางอย่างของไฟล์ เช่น<br />

TITLE, TIMESTAMP, MIME_TYPE และคำสั่ง ContentResolver จะใช้ในการสร้างรายการใน<br />

MediaStore โดยจะอัพเดตฐานข้อมูลพร้อมทั้งตำแหน่งที่เก็บไฟล์โดยอัตโนมัติ<br />

วิดีโอ<br />

เราจะใช้เฟรมเวิร์ค MediaPlayer และ MediaRecorder ในการบันทึกและเล่นไฟล์วิดีโอ<br />

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

สิทธิ์การใช้งานในไฟล์ Manifest ดังนี้<br />

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

Saved successfully!

Ooh no, something went wrong!