บันทึกวิดีโอ

หมายเหตุ: หน้านี้กล่าวถึงคลาส 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);
    }
}