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 />