简体   繁体   English

ExoPlayer 初始化播放器已弃用

[英]ExoPlayer initialize player deprecated

I am currently working with the latest ExoPlayer update and I am getting calls that it is deprecated, could someone help me?我目前正在使用最新的 ExoPlayer 更新,我接到电话说它已被弃用,有人可以帮助我吗?

private fun initializePlayer () {

    if (simpleExoPlayer == null) {
        val trackSelector = DefaultTrackSelector(this)
        val loadControl = DefaultLoadControl()
        simpleExoPlayer = E̶x̶o̶P̶l̶a̶y̶e̶r̶F̶a̶c̶t̶o̶r̶y̶.̶n̶e̶w̶S̶i̶m̶p̶l̶e̶I̶n̶s̶t̶a̶n̶c̶e̶(this, trackSelector, loadControl)
    }
}

Setting Up Exoplayer version(2.11.8):设置 Exoplayer 版本(2.11.8):
Sep 2020 Update: 2020 年 9 月更新:

//Setting Up Exoplayer
private void SetupPlayer(){
        SimpleExoPlayer simpleExoPlayer;
// Create a data source factory.
        dataSourceFactory =
                new DefaultHttpDataSourceFactory(Util.getUserAgent(this
                        , getApplicationInfo().loadLabel(getPackageManager()).toString()));
// Passing Load Control
        loadControl = new DefaultLoadControl.Builder()
                .setBufferDurationsMs(25000, 50000, 1500, 2000).createDefaultLoadControl();

        @DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode = DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER;

        renderersFactory = new DefaultRenderersFactory(this) .setExtensionRendererMode(extensionRendererMode);

// Create a progressive media source pointing to a stream uri.
         mediaSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
                .createMediaSource(Uri.parse(url_to_stream));
// Create a player instance.
        simpleExoPlayer =  new SimpleExoPlayer.Builder(this,renderersFactory).setLoadControl(loadControl).build();
// Prepare the player with the media source.
        simpleExoPlayer.prepare(mediaSource, true, true);
}

It's worked.它奏效了。 You should use this version:你应该使用这个版本:

implementation 'com.google.android.exoplayer:exoplayer:2.18.0'

exoPlayer = ExoPlayer.Builder(this).build()
        exoPlayer?.playWhenReady = true
        binding.playerView.player = exoPlayer
        val defaultHttpDataSourceFactory = DefaultHttpDataSource.Factory()
        val mediaItem =
            MediaItem.fromUri(URL)
        val mediaSource =
            HlsMediaSource.Factory(defaultHttpDataSourceFactory).createMediaSource(mediaItem)
        exoPlayer?.setMediaSource(mediaSource)
        exoPlayer?.seekTo(playbackPosition)
        exoPlayer?.playWhenReady = playWhenReady
        exoPlayer?.prepare()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM