وابستگی را اضافه کنید
کاتلین
implementation("androidx.media3:media3-ui:1.6.0")
شیار
implementation "androidx.media3:media3-ui:1.6.0"
PlayerView
مهم ترین مؤلفه PlayerView
است، یک نمای برای پخش رسانه. PlayerView
ویدیو، تصاویر، زیرنویسها و آلبوم هنری را در حین پخش و همچنین کنترلهای پخش را نمایش میدهد.
PlayerView
یک متد setPlayer()
برای پیوست کردن و جدا کردن (با پاس کردن null
) نمونه های Player
دارد.
PlayerView
می تواند برای پخش ویدئو، تصویر و صدا استفاده شود. این ویدئو و زیرنویس را در مورد پخش ویدئو، نقشه های بیتی برای پخش تصویر ارائه می کند و می تواند آثار هنری موجود به عنوان ابرداده در فایل های صوتی را نمایش دهد. می توانید آن را مانند هر مؤلفه رابط کاربری دیگری در فایل های طرح بندی خود قرار دهید. به عنوان مثال، PlayerView
می توان با XML زیر اضافه کرد:
<androidx.media3.ui.PlayerView
android:id="@+id/player_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:show_buffering="when_playing"
app:show_shuffle_button="true"/>
قطعه بالا نشان می دهد که PlayerView
چندین ویژگی را ارائه می دهد. از این ویژگی ها می توان برای سفارشی کردن رفتار نما و همچنین ظاهر و احساس آن استفاده کرد. اکثر این ویژگی ها دارای متدهای تنظیم کننده متناظر هستند که می توان از آنها برای سفارشی کردن نما در زمان اجرا استفاده کرد. مستندات PlayerView
این ویژگی ها و روش های تنظیم کننده را با جزئیات بیشتری فهرست می کند.
هنگامی که نمای در فایل layout اعلام شد، می توان آن را در متد onCreate
فعالیت جستجو کرد:
کاتلین
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // ... playerView = findViewById(R.id.player_view) }
جاوا
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ... playerView = findViewById(R.id.player_view); }
هنگامی که یک پخش کننده مقداردهی اولیه شد، می توان آن را با فراخوانی setPlayer
به view متصل کرد:
کاتلین
// Instantiate the player. val player = ExoPlayer.Builder(context).build() // Attach player to the view. playerView.player = player // Set the media item to be played. player.setMediaItem(mediaItem) // Prepare the player. player.prepare()
جاوا
// Instantiate the player. player = new ExoPlayer.Builder(context).build(); // Attach player to the view. playerView.setPlayer(player); // Set the media item to be played. player.setMediaItem(mediaItem); // Prepare the player. player.prepare();
PlayerControlView
PlayerControlView
یکی از زیرنماهای PlayerView
است که شامل نوار پیشرفت و دکمههای کنترل پخش است. توجه داشته باشید که PlayerControlView
برای استفاده از یک مؤلفه مستقل خارج از PlayerView
در نظر گرفته نشده است. می توان با تنظیم ویژگی ها در PlayerView
(که به PlayerControlView
منتقل می شود) یا ارائه یک کنترلر سفارشی با android:id="@id/exo_controller
) سفارشی کرد.
نوع سطح را انتخاب کنید
ویژگی surface_type
PlayerView
به شما امکان می دهد نوع سطح مورد استفاده برای پخش ویدیو را تعیین کنید. مقادیر مجاز عبارتند از: surface_view
، texture_view
، spherical_gl_surface_view
(که یک مقدار ویژه برای پخش ویدیوی کروی است)، video_decoder_gl_surface_view
(که برای رندر ویدیو با استفاده از رندرهای افزونه است) و none
(فقط برای پخش صدا). اطلاعات بیشتر در مورد نوع سطحی که باید انتخاب کنید را می توانید در صفحه Surface پیدا کنید.