মনে রাখবেন: এই পৃষ্ঠাটি ক্যামেরা ক্লাসকে রেফার করে, যা বন্ধ হয়ে গেছে। আমরা CameraX অথবা নির্দিষ্ট ব্যবহারের ক্ষেত্রে, Camera2 ব্যবহার করার সাজেশন দিই। CameraX এবং Camera2 উভয়ই Android 5.0 (API লেভেল ২১) এবং তার পরবর্তী ভার্সনে কাজ করে।
এই টিউটোরিয়ালে ব্যাখ্যা করা হয়েছে যে কীভাবে আগে থেকে থাকা ক্যামেরা অ্যাপ্লিকেশন ব্যবহার করে ভিডিও ক্যাপচার করতে হয়।
আপনার অ্যাপ্লিকেশনের একটি কাজ আছে এবং ভিডিও ইন্টিগ্রেট করা হল তার একটি ছোট অংশ। আপনি চান ভিডিও তুলতে গিয়ে যেন কোনও ঝামেলা না হয় এবং ক্যামকর্ডার নতুন করে আবিষ্কার করতে না হয়। তবে, বেশিরভাগ 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) } }
জাভা
@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); } }