انواع سطح، انواع سطح

در این صفحه انواع سطوحی که می توان برای پخش ویدیو با Media3 استفاده کرد و نحوه انتخاب نوع مناسب برای مورد استفاده خود توضیح می دهد. برای اطلاعات بیشتر در مورد اشیاء سرفیس در اندروید، این مستندات گرافیکی را بخوانید.

یک نوع سطح برای PlayerView انتخاب کنید

ویژگی surface_type PlayerView به شما امکان می دهد نوع سطح مورد استفاده برای پخش ویدیو را تعیین کنید. مقادیر مجاز عبارتند از:

  • surface_view ( SurfaceView )
  • texture_view ( TextureView )
  • spherical_gl_surface_view ( SphericalGLSurfaceView ) - برای پخش ویدیوی کروی
  • video_decoder_gl_surface_view ( VideoDecoderGLSurfaceView ) - رندر ویدیو با استفاده از رندرهای برنامه افزودنی
  • none - که فقط برای پخش صدا است و باید برای جلوگیری از ایجاد سطح استفاده شود زیرا انجام این کار می تواند گران باشد.

اگر نما برای پخش معمولی ویدیو است، باید از surface_view یا texture_view استفاده شود. SurfaceView مزایای زیادی نسبت به TextureView برای پخش ویدیو دارد:

  • مصرف برق به طور قابل توجهی در بسیاری از دستگاه ها کاهش می یابد .
  • زمان‌بندی دقیق‌تر فریم، در نتیجه پخش فیلم روان‌تر می‌شود.
  • پشتیبانی از خروجی ویدیوی HDR با کیفیت بالاتر در دستگاه های توانمند.
  • پشتیبانی از خروجی ایمن هنگام پخش محتوای محافظت شده با DRM.
  • توانایی ارائه محتوای ویدیویی با وضوح کامل نمایشگر در دستگاه‌های Android TV که لایه رابط کاربری را ارتقا می‌دهند.

بنابراین SurfaceView باید در صورت امکان بر TextureView ترجیح داده شود. TextureView باید فقط در صورتی استفاده شود که SurfaceView نیازهای شما را برآورده نکند. یک مثال در جایی است که قبل از Android 7.0 (سطح API 24)، انیمیشن های صاف یا پیمایش سطح ویدیو مورد نیاز است، همانطور که در یادداشت های زیر توضیح داده شده است. برای این مورد، ترجیح داده می‌شود که TextureView فقط زمانی استفاده شود که SDK_INT کمتر از 24 باشد (Android 7.0) و در غیر این صورت SurfaceView .

یک نوع سطح را در Compose انتخاب کنید

در Compose، راه حل interop از AndroidView Composable برای بسته بندی SurfaceView و TextureView استفاده می کند. دو Composable که با آن مطابقت دارند AndroidExternalSurface و AndroidEmbeddedExternalSurface هستند.

ماژول Media3 ui-compose یک PlayerSurface Composable را ارائه می‌کند که Player را به روشی آگاه از چرخه حیات به یک Surface متصل می‌کند. انواع سطوح در این مورد عبارتند از:

هیچ نوع none وجود ندارد، زیرا مربوط به عدم درج PlayerSurface در درخت Compose UI شما است.

،

در این صفحه انواع سطوحی که می توان برای پخش ویدیو با Media3 استفاده کرد و نحوه انتخاب نوع مناسب برای مورد استفاده خود توضیح می دهد. برای اطلاعات بیشتر در مورد اشیاء سرفیس در اندروید، این مستندات گرافیکی را بخوانید.

یک نوع سطح برای PlayerView انتخاب کنید

ویژگی surface_type PlayerView به شما امکان می دهد نوع سطح مورد استفاده برای پخش ویدیو را تعیین کنید. مقادیر مجاز عبارتند از:

  • surface_view ( SurfaceView )
  • texture_view ( TextureView )
  • spherical_gl_surface_view ( SphericalGLSurfaceView ) - برای پخش ویدیوی کروی
  • video_decoder_gl_surface_view ( VideoDecoderGLSurfaceView ) - رندر ویدیو با استفاده از رندرهای برنامه افزودنی
  • none - که فقط برای پخش صدا است و باید برای جلوگیری از ایجاد سطح استفاده شود زیرا انجام این کار می تواند گران باشد.

اگر نما برای پخش معمولی ویدیو است، باید از surface_view یا texture_view استفاده شود. SurfaceView مزایای زیادی نسبت به TextureView برای پخش ویدیو دارد:

  • مصرف برق به طور قابل توجهی در بسیاری از دستگاه ها کاهش می یابد .
  • زمان‌بندی دقیق‌تر فریم، در نتیجه پخش فیلم روان‌تر می‌شود.
  • پشتیبانی از خروجی ویدیوی HDR با کیفیت بالاتر در دستگاه های توانمند.
  • پشتیبانی از خروجی ایمن هنگام پخش محتوای محافظت شده با DRM.
  • توانایی ارائه محتوای ویدیویی با وضوح کامل نمایشگر در دستگاه‌های Android TV که لایه رابط کاربری را ارتقا می‌دهند.

بنابراین SurfaceView باید در صورت امکان بر TextureView ترجیح داده شود. TextureView باید فقط در صورتی استفاده شود که SurfaceView نیازهای شما را برآورده نکند. یک مثال در جایی است که قبل از Android 7.0 (سطح API 24)، انیمیشن های صاف یا پیمایش سطح ویدیو مورد نیاز است، همانطور که در یادداشت های زیر توضیح داده شده است. برای این مورد، ترجیح داده می‌شود که TextureView فقط زمانی استفاده شود که SDK_INT کمتر از 24 باشد (Android 7.0) و در غیر این صورت SurfaceView .

یک نوع سطح را در Compose انتخاب کنید

در Compose، راه حل interop از AndroidView Composable برای بسته بندی SurfaceView و TextureView استفاده می کند. دو Composable که با آن مطابقت دارند AndroidExternalSurface و AndroidEmbeddedExternalSurface هستند.

ماژول Media3 ui-compose یک PlayerSurface Composable را ارائه می‌کند که Player را به روشی آگاه از چرخه حیات به یک Surface متصل می‌کند. انواع سطوح در این مورد عبارتند از:

هیچ نوع none وجود ندارد، زیرا مربوط به عدم درج PlayerSurface در درخت Compose UI شما است.