এই পৃষ্ঠাটি মিডিয়া3 এর সাথে ভিডিও প্লেব্যাকের জন্য ব্যবহার করা যেতে পারে এমন বিভিন্ন ধরণের পৃষ্ঠের বর্ণনা দেয় এবং কীভাবে আপনার ব্যবহারের ক্ষেত্রে সঠিক ধরন বেছে নিতে হয়। অ্যান্ড্রয়েডে সারফেস অবজেক্ট সম্পর্কে আরও জানতে, এই গ্রাফিক্স ডকুমেন্টেশনটি পড়ুন।
PlayerView এর জন্য একটি পৃষ্ঠের ধরন চয়ন করুন
PlayerView
এর surface_type
অ্যাট্রিবিউট আপনাকে ভিডিও প্লেব্যাকের জন্য ব্যবহৃত সারফেসের ধরন সেট করতে দেয়। অনুমোদিত মান হল:
-
surface_view
(SurfaceView
) -
texture_view
(TextureView
) -
spherical_gl_surface_view
(SphericalGLSurfaceView
) - গোলাকার ভিডিও প্লেব্যাকের জন্য -
video_decoder_gl_surface_view
(VideoDecoderGLSurfaceView
) - এক্সটেনশন রেন্ডারার ব্যবহার করে ভিডিও রেন্ডারিং -
none
- যা শুধুমাত্র অডিও প্লেব্যাকের জন্য এবং একটি পৃষ্ঠ তৈরি করা এড়াতে ব্যবহার করা উচিত কারণ এটি করা ব্যয়বহুল হতে পারে।
যদি ভিউটি নিয়মিত ভিডিও প্লেব্যাকের জন্য হয় তবে surface_view
বা texture_view
ব্যবহার করা উচিত। ভিডিও প্লেব্যাকের জন্য TextureView
তুলনায় SurfaceView
অনেকগুলি সুবিধা রয়েছে:
- অনেক ডিভাইসে উল্লেখযোগ্যভাবে কম পাওয়ার খরচ ।
- আরও সঠিক ফ্রেম টাইমিং, যার ফলে ভিডিও প্লেব্যাক মসৃণ হয়।
- সক্ষম ডিভাইসগুলিতে উচ্চ মানের HDR ভিডিও আউটপুটের জন্য সমর্থন।
- DRM-সুরক্ষিত বিষয়বস্তু চালানোর সময় সুরক্ষিত আউটপুটের জন্য সমর্থন।
- অ্যান্ড্রয়েড টিভি ডিভাইসগুলিতে ডিসপ্লের সম্পূর্ণ রেজোলিউশনে ভিডিও সামগ্রী রেন্ডার করার ক্ষমতা যা UI স্তরকে উন্নত করে।
SurfaceView
তাই যেখানে সম্ভব TextureView
চেয়ে অগ্রাধিকার দেওয়া উচিত। TextureView
শুধুমাত্র ব্যবহার করা উচিত যদি SurfaceView
আপনার চাহিদা পূরণ না করে। একটি উদাহরণ হল যেখানে Android 7.0 (API স্তর 24) এর আগে ভিডিও পৃষ্ঠের মসৃণ অ্যানিমেশন বা স্ক্রোলিং প্রয়োজন, যেমনটি নিম্নলিখিত নোটগুলিতে বর্ণনা করা হয়েছে। এই ক্ষেত্রে, SDK_INT
24 (Android 7.0) এর কম হলে TextureView
ব্যবহার করা বাঞ্ছনীয় এবং অন্যথায় SurfaceView
।
রচনায় একটি পৃষ্ঠের ধরন চয়ন করুন
কম্পোজে, ইন্টারপ সলিউশন SurfaceView
এবং TextureView
মোড়ানোর জন্য AndroidView
কম্পোজেবল ব্যবহার করে। দুটি কম্পোজেবল যেগুলির সাথে মিল রয়েছে তা হল AndroidExternalSurface
এবং AndroidEmbeddedExternalSurface
।
Media3 ui-compose
মডিউল একটি PlayerSurface
Composable প্রদান করে যা Player
একটি জীবনচক্র-সচেতন পদ্ধতিতে একটি Surface
সাথে লিঙ্ক করে। এই ক্ষেত্রে পৃষ্ঠের প্রকারগুলি হল:
-
SURFACE_TYPE_SURFACE_VIEW
(কার্যকরভাবেAndroidExternalSurface
) -
SURFACE_TYPE_TEXTURE_VIEW
(কার্যকরভাবেAndroidEmbeddedExternalSurface
)
none
টাইপ নেই, যেহেতু এটি আপনার কম্পোজ UI ট্রিতে PlayerSurface
অন্তর্ভুক্ত না করার সাথে সঙ্গতিপূর্ণ হবে।
এই পৃষ্ঠাটি মিডিয়া3 এর সাথে ভিডিও প্লেব্যাকের জন্য ব্যবহার করা যেতে পারে এমন বিভিন্ন ধরণের পৃষ্ঠের বর্ণনা দেয় এবং কীভাবে আপনার ব্যবহারের ক্ষেত্রে সঠিক ধরন বেছে নিতে হয়। অ্যান্ড্রয়েডে সারফেস অবজেক্ট সম্পর্কে আরও জানতে, এই গ্রাফিক্স ডকুমেন্টেশনটি পড়ুন।
PlayerView এর জন্য একটি পৃষ্ঠের ধরন চয়ন করুন
PlayerView
এর surface_type
অ্যাট্রিবিউট আপনাকে ভিডিও প্লেব্যাকের জন্য ব্যবহৃত সারফেসের ধরন সেট করতে দেয়। অনুমোদিত মান হল:
-
surface_view
(SurfaceView
) -
texture_view
(TextureView
) -
spherical_gl_surface_view
(SphericalGLSurfaceView
) - গোলাকার ভিডিও প্লেব্যাকের জন্য -
video_decoder_gl_surface_view
(VideoDecoderGLSurfaceView
) - এক্সটেনশন রেন্ডারার ব্যবহার করে ভিডিও রেন্ডারিং -
none
- যা শুধুমাত্র অডিও প্লেব্যাকের জন্য এবং একটি পৃষ্ঠ তৈরি করা এড়াতে ব্যবহার করা উচিত কারণ এটি করা ব্যয়বহুল হতে পারে।
যদি ভিউটি নিয়মিত ভিডিও প্লেব্যাকের জন্য হয় তবে surface_view
বা texture_view
ব্যবহার করা উচিত। ভিডিও প্লেব্যাকের জন্য TextureView
তুলনায় SurfaceView
অনেকগুলি সুবিধা রয়েছে:
- অনেক ডিভাইসে উল্লেখযোগ্যভাবে কম পাওয়ার খরচ ।
- আরও সঠিক ফ্রেম টাইমিং, যার ফলে ভিডিও প্লেব্যাক মসৃণ হয়।
- সক্ষম ডিভাইসগুলিতে উচ্চ মানের HDR ভিডিও আউটপুটের জন্য সমর্থন।
- DRM-সুরক্ষিত বিষয়বস্তু চালানোর সময় সুরক্ষিত আউটপুটের জন্য সমর্থন।
- অ্যান্ড্রয়েড টিভি ডিভাইসগুলিতে ডিসপ্লের সম্পূর্ণ রেজোলিউশনে ভিডিও সামগ্রী রেন্ডার করার ক্ষমতা যা UI স্তরকে উন্নত করে।
SurfaceView
তাই যেখানে সম্ভব TextureView
চেয়ে অগ্রাধিকার দেওয়া উচিত। TextureView
শুধুমাত্র ব্যবহার করা উচিত যদি SurfaceView
আপনার চাহিদা পূরণ না করে। একটি উদাহরণ হল যেখানে Android 7.0 (API স্তর 24) এর আগে ভিডিও পৃষ্ঠের মসৃণ অ্যানিমেশন বা স্ক্রোলিং প্রয়োজন, যেমনটি নিম্নলিখিত নোটগুলিতে বর্ণনা করা হয়েছে। এই ক্ষেত্রে, SDK_INT
24 (Android 7.0) এর কম হলে TextureView
ব্যবহার করা বাঞ্ছনীয় এবং অন্যথায় SurfaceView
।
রচনায় একটি পৃষ্ঠের ধরন চয়ন করুন
কম্পোজে, ইন্টারপ সলিউশন SurfaceView
এবং TextureView
মোড়ানোর জন্য AndroidView
কম্পোজেবল ব্যবহার করে। দুটি কম্পোজেবল যেগুলির সাথে মিল রয়েছে তা হল AndroidExternalSurface
এবং AndroidEmbeddedExternalSurface
।
Media3 ui-compose
মডিউল একটি PlayerSurface
Composable প্রদান করে যা Player
একটি জীবনচক্র-সচেতন পদ্ধতিতে একটি Surface
সাথে লিঙ্ক করে। এই ক্ষেত্রে পৃষ্ঠের প্রকারগুলি হল:
-
SURFACE_TYPE_SURFACE_VIEW
(কার্যকরভাবেAndroidExternalSurface
) -
SURFACE_TYPE_TEXTURE_VIEW
(কার্যকরভাবেAndroidEmbeddedExternalSurface
)
none
টাইপ নেই, যেহেতু এটি আপনার কম্পোজ UI ট্রিতে PlayerSurface
অন্তর্ভুক্ত না করার সাথে সঙ্গতিপূর্ণ হবে।