在 ExoPlayer 2.11.0 版本中,确实已经删除了 'RtspMediaSource' 类。如果您需要加载 RTSP 流,可以考虑使用以下方法:

  1. 使用 'ExtractorMediaSource' 加载 RTSP 流。您需要自己实现一个 RTSP 数据源,将其传递给 'ExtractorMediaSource'。以下是一个示例:
val rtspDataSourceFactory = DefaultDataSourceFactory(context, 'ExoPlayer')
val rtspUri = Uri.parse('rtsp://example.com/stream')
val rtspMediaSource = ExtractorMediaSource.Factory(rtspDataSourceFactory)
    .createMediaSource(rtspUri)
  1. 使用 'FFmpegMediaSource' 加载 RTSP 流。您需要使用 FFmpeg 库将 RTSP 流转换为 HLS 流,然后将 HLS 流传递给 'FFmpegMediaSource'。以下是一个示例:
val hlsDataSourceFactory = DefaultDataSourceFactory(context, 'ExoPlayer')
val hlsUri = Uri.parse('http://example.com/stream.m3u8')
val hlsMediaSource = HlsMediaSource.Factory(hlsDataSourceFactory)
    .createMediaSource(hlsUri)

请注意,使用 'FFmpegMediaSource' 需要将 FFmpeg 库添加到您的项目中,并且可能会增加应用程序的大小。

ExoPlayer 2.11.0 移除 RtspMediaSource 类:如何加载 RTSP 流

原文地址: https://www.cveoy.top/t/topic/jBhS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录