บันทึกวิดีโอ
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
หมายเหตุ: หน้านี้กล่าวถึงคลาส 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);
}
}
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-26 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-26 UTC"],[],[],null,["# Record videos\n\n**Note:** This page refers to the\n[Camera](/reference/android/hardware/Camera) class, which is deprecated. We\nrecommend using [CameraX](/media/camera/camerax) or, for specific use cases,\n[Camera2](/media/camera/camera2). Both CameraX and Camera2 support Android 5.0\n(API level 21) and higher.\n\nThis lesson explains how to capture video using existing camera\napplications.\n\nYour application has a job to do, and integrating videos is only a small\npart of it. You want to take videos with minimal fuss, and not reinvent the\ncamcorder. Happily, most Android-powered devices already have a camera application that\nrecords video. In this lesson, you make it do this for you. \n\nRefer to the following related resources:\n\n- [Camera](/guide/topics/media/camera)\n- [Intents and Intent\n Filters](/guide/components/intents-filters)\n\nRequest the camera feature\n--------------------------\n\nTo advertise that your application depends on having a camera, put a\n`\u003cuses-feature\u003e` tag in the manifest file: \n\n```xml\n\u003cmanifest ... \u003e\n \u003cuses-feature android:name=\"android.hardware.camera\"\n android:required=\"true\" /\u003e\n ...\n\u003c/manifest\u003e\n```\n\nIf your application uses, but does not require a camera in order to function, set `android:required` to `false`. In doing so, Google Play will allow devices without a\ncamera to download your application. It's then your responsibility to check for the availability\nof the camera at runtime by calling [hasSystemFeature(PackageManager.FEATURE_CAMERA)](/reference/android/content/pm/PackageManager#hasSystemFeature(java.lang.String)).\nIf a camera is not available, you should then disable your camera features.\n\nView the video\n--------------\n\nThe Android Camera application returns the video in the [Intent](/reference/android/content/Intent) delivered\nto [onActivityResult()](/reference/android/app/Activity#onActivityResult(int, int, android.content.Intent)) as a [Uri](/reference/android/net/Uri) pointing to the video location in storage. The following code\nretrieves this video and displays it in a [VideoView](/reference/android/widget/VideoView). \n\n### Kotlin\n\n```kotlin\noverride fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent) {\n if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {\n val videoUri: Uri = intent.data\n videoView.setVideoURI(videoUri)\n }\n}\n```\n\n### Java\n\n```java\n@Override\nprotected void onActivityResult(int requestCode, int resultCode, Intent intent) {\n if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {\n Uri videoUri = intent.getData();\n videoView.setVideoURI(videoUri);\n }\n}\n```"]]