ExoPlayer不显示由Handbrake添加的软字幕

时间:2019-02-05 23:19:49

标签: android android-video-player exoplayer subtitle

在使用Exoplayer 2在我的应用中显示视频之前,我先使用Handbrake压缩视频。我还使用Handbrake添加英语和法语软字幕。使用VLC时,字幕可以正确显示,但在ExoPlayer中根本不显示。以下是我添加视频的方式:

private fun initializePlayer() {

    bandwidthMeter = DefaultBandwidthMeter()
    mediaDataSourceFactory = DefaultDataSourceFactory(context, Util.getUserAgent(context, "mediaPlayerSample"), bandwidthMeter as TransferListener<in DataSource>)

    playerView.requestFocus()

    val videoTrackSelectionFactory = AdaptiveTrackSelection.Factory(bandwidthMeter)

    trackSelector = DefaultTrackSelector(videoTrackSelectionFactory)

    simpleExoPLayer = ExoPlayerFactory.newSimpleInstance(context, trackSelector)

    playerView.player = simpleExoPLayer

    simpleExoPLayer.setPlayWhenReady(false)

    val extractorsFactory = DefaultExtractorsFactory()

    var mediaSource = ExtractorMediaSource(
        Uri.parse(getFileFromAssets()),
        mediaDataSourceFactory, extractorsFactory, null, null
    )

    simpleExoPLayer.prepare(mediaSource)

    playerView.player.seekTo(0)

    playerView.player
}

我知道如何使用ExoPLayer添加字幕,但是我已经使用HandBrake添加了字幕。我只想给他们看。我相信默认情况下会禁用软字幕,而且我不知道如何启用它。

非常感谢您的帮助。

0 个答案:

没有答案