הערה: הדף הזה מתייחס למחלקה מצלמה, שהוצאה משימוש. מומלץ להשתמש ב-CameraX או, במקרים ספציפיים, ב-Camera2. גם CameraX וגם Camera2 תומכים ב-Android 5.0 (רמת API 21) ואילך.
בשיעור הזה מוסבר איך לצלם סרטון באמצעות מצלמה קיימת תרגום מכונה.
האפליקציה שלכם עובדת, ושילוב הסרטונים הוא רק חלק קטן חלק ממנו. אתם רוצים לצלם סרטונים במאמץ מינימלי, ולא להמציא מחדש את במצלמת הווידאו. בשמחה, לרוב המכשירים מבוססי Android כבר יש אפליקציית מצלמה מקליטים וידאו. בשיעור הזה תלמדו איך לעשות את זה בשבילכם.
כדאי לעיין במקורות המידע שקשורים לנושא:
בקשה לפיצ'ר המצלמה
כדי לפרסם שהאפליקציה שלך תלויה במצלמה, יש להציב
התג <uses-feature>
בקובץ המניפסט:
<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); } }