我有使用 ExoPlayer 显示视频的功能:
private fun initializePlayer() {
// ExoPlayer implements the Player interface
player = ExoPlayer.Builder(this)
.build()
.also { exoPlayer ->
viewBinding.videoView.player = exoPlayer
val mediaItem =
MediaItem.fromUri("some url")
exoPlayer.setMediaItems(listOf(mediaItem), mediaItemIndex, playbackPosition)
exoPlayer.playWhenReady = playWhenReady
exoPlayer.prepare()
}
}
我试过这个:
val subtitle = SubtitleConfiguration.Builder(subtitleUri)
.setMimeType(MimeTypes.APPLICATION_SUBRIP) // The correct MIME type (required).
.build()
exoPlayer.addMediaItem(subtitle)
但是我得到一个错误:
类型不匹配:推断类型是 MediaItem.SubtitleConfiguration 但 MediaItem 是预期的
我有一个 srt 文件的链接,我如何使用该链接为视频添加字幕?
您正在尝试添加 SubtitleConfiguration 对象而不是 MediaItem。 您必须先创建一个包含字幕信息的 MediaItem
val mediaItem = MediaItem.Builder()
.setUri("some url")
.setMimeType(MimeTypes.VIDEO_MP4) // set the MIME type of the video
.setSubtitles(listOf(Subtitle(Uri.parse("https://example.com/subtitles.srt"), MimeTypes.APPLICATION_SUBRIP)))
.build()