หมายเหตุ: หน้านี้อ้างอิงถึงคลาส Camera ซึ่งเลิกใช้งานแล้ว เราขอแนะนำให้ใช้ CameraX หรือ Camera2 สำหรับ Use Case ที่เฉพาะเจาะจง ทั้ง CameraX และ Camera2 รองรับ Android 5.0 (API ระดับ 21) ขึ้นไป
บทเรียนนี้จะอธิบายวิธีจับภาพวิดีโอโดยใช้แอปพลิเคชันกล้องที่มีอยู่
แอปพลิเคชันของคุณมีงานที่ต้องทำ และการผสานรวมวิดีโอเป็นเพียงส่วนเล็กๆ ของงานเท่านั้น คุณต้องการถ่ายวิดีโอโดยไม่ต้องยุ่งยาก และไม่ต้องการสร้างกล้องวิดีโอขึ้นมาใหม่ โชคดีที่อุปกรณ์ที่ทำงานด้วย Android ส่วนใหญ่มีแอปพลิเคชันกล้องที่บันทึกวิดีโอได้อยู่แล้ว ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีทำให้ AI ทำสิ่งนี้ให้คุณ
โปรดดูแหล่งข้อมูลที่เกี่ยวข้องต่อไปนี้
ขอฟีเจอร์กล้อง
หากต้องการโฆษณาว่าแอปพลิเคชันของคุณต้องใช้กล้อง ให้ใส่แท็ก <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); } }