exoplayer 在新版中 删掉了 RtspMediaSource 类 那我该用什么类加载
RTSP流呢?
在 ExoPlayer 2.11.0 版本中,确实已经删除了 RtspMediaSource 类。如果您需要加载 RTSP 流,可以考虑使用以下方法:
- 使用 ExtractorMediaSource 加载 RTSP 流。您需要自己实现一个 RTSP 数据源,将其传递给 ExtractorMediaSource。以下是一个示例:
val rtspDataSourceFactory = DefaultDataSourceFactory(context, "ExoPlayer")
val rtspUri = Uri.parse("rtsp://example.com/stream")
val rtspMediaSource = ExtractorMediaSource.Factory(rtspDataSourceFactory)
.createMediaSource(rtspUri)
- 使用 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 库添加到您的项目中,并且可能会增加应用程序的大小。
原文地址: https://www.cveoy.top/t/topic/bYXi 著作权归作者所有。请勿转载和采集!