java - Exoplayer 是否支持通过 POST METHOD 播放视频?
问题描述
我有一个 API 可以从我们的服务器检索视频,该 API 使用 POST 方法,并且需要对 Headers 进行授权,对 body 参数进行 deviceInfo。
例子。
URL:https
://myapi.com/api/pretty_video.mp4 正文:deviceInfo = 设备信息
HEADER:授权:承载“令牌”
方法:POST
我找不到任何使用 POST 方法从 URL 播放视频的ExoPlayer示例。
解决方案
解决了!
我通过使用 OkHttp 解决了它。
DefaultBandwidthMeter defaultBandwidthMeter = new DefaultBandwidthMeter();
DataSource.Factory dataSourceFactory = new OkHttpDataSourceFactory(new OkHttpClient
.Builder()
.connectTimeout(1, TimeUnit.MINUTES)
.readTimeout(1,TimeUnit.MINUTES)
.retryOnConnectionFailure(false)
.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
MediaType CONTENT_TYPE = MediaType.parse("application/x-www-form-urlencoded");
RequestBody requestBody = RequestBody.create(CONTENT_TYPE,"deviceinfo=12345");
Request request = chain.request().newBuilder()
.post(requestBody) . // HERE IS THE KEY
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer " + auth)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
return chain.proceed(request);
}
})
.build(), Util.getUserAgent(context,context.getString(R.string.app_name)), defaultBandwidthMeter);
推荐阅读
- web - 如何查找网页的所有非链接子站点?
- python - pygame python 库中的 pygame.event.wait() 占用 100%CPU
- google-apps-script - 将关联数组转换为数值以在 Apps 脚本中写入工作表
- java - android旋转的TextView继承父级的宽度
- python - sqlite3.OperationalError:靠近“VALUES”:语法错误
- r - 在包含排序组的数据框中分配一个新列
- java - Kafka-Streams 使用 JSON 值加入 2 个主题 | 背压机制?
- reactjs - 在 React.js 中,使用 flexGrow 时出现错误的 clientHeight
- c++ - 如何使 int 主订单重置
- mingw-w64 - MinGW-w64 8.1.0 rev 0 包含时无法编译