exoplayer ts链接 添加参数
时间: 2023-07-12 08:37:33 浏览: 60
如果您想在 ExoPlayer 中播放带参数的 TS 链接,可以通过创建一个带有参数的 Uri 对象,并将其传递给 ExoPlayer 的 MediaSource 进行实现。以下是一段示例代码:
```java
String url = "http://example.com/video.ts?param1=value1¶m2=value2";
Uri uri = Uri.parse(url);
// 创建带有参数的 DataSource.Factory
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, Util.getUserAgent(context, "yourApplicationName"));
dataSourceFactory = new DefaultDataSourceFactory(context, Util.getUserAgent(context, "yourApplicationName"), new DefaultHttpDataSourceFactory(Util.getUserAgent(context, "yourApplicationName")).setAllowCrossProtocolRedirects(true));
// 创建带有参数的 MediaSource
MediaSource mediaSource = new ExtractorMediaSource.Factory(dataSourceFactory)
.createMediaSource(uri);
// 创建 ExoPlayer
SimpleExoPlayer player = new SimpleExoPlayer.Builder(context).build();
// 准备播放器
player.prepare(mediaSource);
// 开始播放
player.setPlayWhenReady(true);
```
其中,`http://example.com/video.ts?param1=value1¶m2=value2` 是带有参数的 TS 链接,`DefaultDataSourceFactory` 和 `ExtractorMediaSource.Factory` 是 ExoPlayer 提供的数据源工厂类和媒体资源工厂类。通过在数据源工厂类中设置 `DefaultHttpDataSourceFactory` 并将其 `setAllowCrossProtocolRedirects` 方法设置为 `true`,可以支持跨协议重定向。
希望这些信息能帮助您!