gpt4 book ai didi

android - 在 Android 上使用 MediaPlayer 流式传输经过身份验证的视频

转载 作者:行者123 更新时间:2023-11-29 00:22:53 24 4
gpt4 key购买 nike

我正在尝试在我的 Android 设备 browser/Media Player/VideoView 中从具有基本身份验证 (用户名/密码) 的 SharePoint 服务器 URL 流式传输和播放视频但是我得到了

错误

 sorry this video can’t be played. 

URL 中的身份验证参数(用户名/密码)也不起作用(例如:http://username:password@www.hostname.com/test.mp4)

但我可以使用带身份验证的 Android HTTP 下载类下载并正常播放。

谁能建议如何为流式视频的 VideoView 类设置身份验证

提前致谢!!

最佳答案

如果有人仍在寻找答案这里是一种在视频 View 中设置身份验证的方法。

Map<String, String> header= new HashMap<String, String>(1);
final String cred = "your_username" + ":" + "your_password";
final String auth = "Basic "+ Base64.encodeToString(cred.getBytes(),Base64.URL_SAFE|Base64.NO_WRAP);
header.put("Authorization", auth);
videoView.setVideoURI(Uri.parse("your url"),header);
videoView.start();

但对于较低的 api,setVdeoUri 方法是隐藏的。可以看到this answer

如果您使用的是 Google ExoPlayer您将必须像这样设置数据源。

    final String cred = "username" + ":" + "password";
final String auth = "Basic "+ Base64.encodeToString(cred.getBytes(),Base64.URL_SAFE|Base64.NO_WRAP);
DefaultHttpDataSource dataSource = new DefaultHttpDataSource(userAgent, null);
dataSource.setRequestProperty("Authorization", auth);
dataSource.setRequestProperty("Accept", "...");

关于android - 在 Android 上使用 MediaPlayer 流式传输经过身份验证的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21906749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com