تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ یونس محمدی
استفاده از StyledPlayerView بجای PlayerView به دلیل Deprecated شدن PlayerView
جامعه جاوا (اندروید) ایجاد شده در ۱۶ فروردین ۱۴۰۱

با سلام و احترام

با استفاده از لایبرری exo player یه برنامه ساده برای پخش ویدیو نوشتم

که در ابتدا از PlayerView استفاده شده بود

<com.google.android.exoplayer2.ui.PlayerView
    android:id="@+id/video_detail"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:controller_layout_id="@layout/exo_styled_player_control_view"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

و همچنین برای سفارش سازی controller آن از فایل زیر استفاده میکنم

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:id="@+id/exo_pause"
        style="@style/ExoMediaButton.Pause"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <ImageView
        android:id="@+id/exo_play"
        style="@style/ExoMediaButton.Play"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
androidx.constraintlayout.widget.ConstraintLayout>

که با این تنظیمات ویدیو کاملا درست پخش میشه و ویو کنترل شفارشی شده(@layout/exo_styled_player_control_view) هم که فقط شامل دکمه play و pause هست بخوبی کار میکنه (ینی ویدیو با زدن دکمه استپ میشه و مجدد با زدن دکمه شروع به پخش مجدد میشه)

مشکل جایی شروع میشه که من PlayerView رو به StyledPlayerView تغییر میدم (به دلیل Deprecated شدن PlayerView ) و از اینجا به بعد دیگه دکمه play و pasue ، عمل نمیکنند (ینی عملکرد این دکمه‌ها از بین میره)

این نکته هم اضاف کنم دورن فایل جاوا هم هرجا از PlayerView استفاده کردم type اش رو به StyledPlayerView تغییر دادم (ینی ران تایم اروری ندارم)

کلی سرچ کردم ولی به جواب نرسیدم که چرا این مشکل به وجود میاد

امیدوارم که که بتونین در این زمینه منو راهنمایی کنید

سلام یونس جان

مدت زمان زیادی میگذره که از ExoPlayer استفاده نکردم.

این مورد رو به بقیه دوستان ارجاع میدم و جوابی که گرفتم رو با شما share میکنم .

برای اینکه معطل نمونید مهم نیست از همون PlayerView استفاده کنید تا صرفا با این موضوع اشنا بشین

و همچنین در سال پیش رو محتوای دوره اندروید یه بازنگری خواهد شد چون میدونم یک سری جاها دیپریکیت شده

پوریا شفیعی ۱۷ فروردین ۱۴۰۱، ۰۷:۱۶

به قول شما برای اینکه پروژم پیش بره از همون نسخه قبلی استفاده میکنم

ولی چون قراره درون پروژه واقعی استفاده بشه برای سازگاری با همه گوشی‌ها ترجیح میدم که از نسخه جدیدترش در آینده استفاده کنم.

به همین خاطر اگه لطف کنید نتیجه جواب دیگر عزیزان رو در اختیارم بزارید خیلی ممنون میشم چون خودم واقعا خیلی سرچ کردم و مقاله‌های مختلفی خوندم به نتیجه خاصی نرسیدم.

یا اینکه اگر کتابخونه ای جایگزین داره و باهاش آشناید برای پخش ویدیو و صدا لطفا بهم معرفی کنید (بجای ExoPlayer)


پیشاپیش از کمک و راهنمایی هاتون مچکرم

یونس محمدی ۱۷ فروردین ۱۴۰۱، ۰۹:۳۱