在使用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添加了字幕。我只想给他们看。我相信默认情况下会禁用软字幕,而且我不知道如何启用它。
非常感谢您的帮助。