Exoplayer показывает только черный экран без воспроизведения видео - PullRequest
2 голосов
/ 18 февраля 2020

Когда я открываю приложение, пустой проигрыватель с черным экраном показывает, и кнопка воспроизведения меняется на кнопку паузы через секунду или две секунды, как показано ниже, я попробовал

Зависимости, которые я использовал в приложении gradle файл

implementation 'com.google.android.exoplayer:exoplayer-core:2.9.6 
implementation 'com.google.android.exoplayer:exoplayer-dash:2.9.6'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.9.6'
implementation 'com.google.android.exoplayer:exoplayer:2.9.6'

ФАЙЛ МОЕЙ ПЛАНЫ -

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <com.google.android.exoplayer2.ui.PlayerView
        android:id="@+id/exoplayer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>


</LinearLayout>

MainActivity class

public class MainActivity extends AppCompatActivity {

    private PlayerView playerView;
    private SimpleExoPlayer player;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        playerView=findViewById(R.id.exoplayer);
    }


    @Override
    protected void onStart() {
        super.onStart();
        player= ExoPlayerFactory.newSimpleInstance(this,new DefaultTrackSelector());

        playerView.setPlayer(player);
        DefaultDataSourceFactory dataSourceFactory=new DefaultDataSourceFactory(this,
                Util.getUserAgent(this,"exo-demo"));


        ExtractorMediaSource mediaSource=new ExtractorMediaSource.Factory(dataSourceFactory)
                .createMediaSource(Uri.parse("https://www.youtube.com/watch?v=uMArzRFRgvw&list=WL&index=2&t=0s"));


        player.prepare(mediaSource);
        player.setPlayWhenReady(true);

    }


    @Override
    protected void onStop() {
        super.onStop();
        playerView.setPlayer(null);
        player.release();
        player=null;
    }
}
...