หมายเหตุ: หน้านี้กล่าวถึงคลาส Camera ซึ่งเลิกใช้งานแล้ว เราขอแนะนำให้ใช้ CameraX หรือ Camera2 สำหรับบางกรณีการใช้งาน ทั้ง CameraX และ Camera2 รองรับ Android 5.0 (API ระดับ 21) ขึ้นไป
บทเรียนนี้จะอธิบายวิธีบันทึกวิดีโอโดยใช้แอปพลิเคชันกล้องที่มีอยู่
แอปพลิเคชันของคุณมีหน้าที่ต้องทํา และการผสานรวมวิดีโอเป็นเพียงส่วนเล็กๆ เท่านั้น คุณต้องการถ่ายวิดีโอโดยใช้เวลาน้อยที่สุดและไม่ต้องการประดิษฐ์กล้องวิดีโอขึ้นมาใหม่ แต่ไม่ต้องกังวล อุปกรณ์ Android ส่วนใหญ่มีแอปพลิเคชันกล้องที่บันทึกวิดีโออยู่แล้ว ในบทเรียนนี้ คุณจะได้ทําให้แอปดำเนินการดังกล่าว
โปรดดูแหล่งข้อมูลที่เกี่ยวข้องต่อไปนี้
ขอฟีเจอร์กล้อง
หากต้องการโฆษณาว่าแอปพลิเคชันของคุณต้องใช้กล้อง ให้ใส่แท็ก <uses-feature>
ในไฟล์ Manifest ดังนี้
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
หากแอปพลิเคชันใช้กล้อง แต่ไม่จำเป็นต้องใช้กล้องในการทำงาน ให้ตั้งค่า android:required
เป็น false
ซึ่ง Google Play จะอนุญาตให้อุปกรณ์ที่ไม่มีกล้องดาวน์โหลดแอปพลิเคชันของคุณได้ คุณต้องรับผิดชอบในการตรวจสอบความพร้อมใช้งานของกล้องขณะรันไทม์โดยเรียกใช้ hasSystemFeature(PackageManager.FEATURE_CAMERA)
หากไม่มีกล้อง คุณควรปิดใช้ฟีเจอร์กล้อง
ดูวิดีโอ
แอปพลิเคชันกล้อง Android จะแสดงวิดีโอใน Intent
ที่ส่งให้กับ onActivityResult()
เป็น Uri
ที่ชี้ไปยังตำแหน่งวิดีโอในพื้นที่เก็บข้อมูล โค้ดต่อไปนี้จะดึงข้อมูลวิดีโอนี้และแสดงใน VideoView
Kotlin
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent) { if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) { val videoUri: Uri = intent.data videoView.setVideoURI(videoUri) } }
Java
@Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) { Uri videoUri = intent.getData(); videoView.setVideoURI(videoUri); } }