Search code examples
javaandroidhttp-live-streaming

The app just crashes whenever I go into the activity


The code is

public class TwelfthActivity extends AppCompatActivity {
private Object HlsMediaSource;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_twelfth);

    DataSource.Factory dataSourceFactory = new DefaultHttpDataSourceFactory();
    HlsMediaSource hlsMediaSource =
            new HlsMediaSource.Factory(dataSourceFactory)
            .createMediaSource(MediaItem.fromUri("http://37.77.2.234:1935/beyaz/live/chunklist_w269671748.m3u8"));
    SimpleExoPlayer player = new SimpleExoPlayer.Builder(this).build();
    player.setMediaSource((MediaSource) HlsMediaSource);
    player.prepare();
}

}

No errors pop up anywhere but the app itself just crashes


Solution

  • private SimpleExoPlayer moviePlayer;
    private PlayerView playerView;
    private DefaultTrackSelector trackSelector;
    private int currentWindow = 0;
    private long playbackPosition = 0;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_twelfth);
    
        playerView = findViewById(R.id.moviePlayer);
    
        trackSelector = new DefaultTrackSelector(this, new AdaptiveTrackSelection.Factory());  
        trackSelector.setParameters(trackSelector.buildUponParameters().setMaxVideoSizeSd());
        DefaultLoadControl loadControl = new DefaultLoadControl.Builder().setBufferDurationsMs(50000, 50000, 4000, 1024).build();
        moviePlayer = new SimpleExoPlayer.Builder(this, new DefaultRenderersFactory(this)).setLoadControl(loadControl).setTrackSelector(trackSelector).build();
        playerView.setPlayer(moviePlayer);
        
        DataSource.Factory dataSourceFactory = new DefaultHttpDataSourceFactory(getString(R.string.app_name));
        MediaSource mediaSource = new HlsMediaSource.Factory(dataSourceFactory).setAllowChunklessPreparation(true).createMediaSource(new MediaItem.Builder().setUri(Uri.parse("http://37.77.2.234:1935/beyaz/live/chunklist_w269671748.m3u8")).build());
    
        moviePlayer.setMediaSource(mediaSource);
        moviePlayer.setPlayWhenReady(true);
        moviePlayer.seekTo(currentWindow, playbackPosition);
        moviePlayer.prepare();
    
    }