簡體   English   中英

ExoPlayer 初始化播放器已棄用

[英]ExoPlayer initialize player deprecated

我目前正在使用最新的 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)
    }
}

設置 Exoplayer 版本(2.11.8):
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);
}

它奏效了。 你應該使用這個版本:

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