You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中VideoView播放Google Drive链接视频失败的问题求助

解决Android VideoView无法播放Google Drive视频的问题

你的问题核心很明确:你用的是Google Drive的网页预览链接,而不是直接的视频资源链接,从错误日志里的text/html from getMIMEType()就能看出来——VideoView请求这个链接得到的是网页内容,不是它需要的视频媒体流,自然会报错“无法播放此视频”。下面是具体的解决步骤:

1. 转换Google Drive链接为可直接播放的格式

Google Drive默认的分享链接(https://drive.google.com/file/d/[FILE_ID]/view?usp=sharing)是网页预览地址,需要转换成直接指向视频文件的URL:

  • 提取原链接中的FILE_ID:你的链接里是1CRJ8tL-DyjD0Nwd7ezkboGm6570zMf4C
  • 替换成以下格式:https://drive.google.com/uc?export=download&id=[FILE_ID]

修改后的Uri代码应该是:

Uri uri = Uri.parse("https://drive.google.com/uc?export=download&id=1CRJ8tL-DyjD0Nwd7ezkboGm6570zMf4C");

⚠️ 注意:你的Google Drive文件必须设置为**“公开可查看”**(分享权限改为“知道链接的任何人都可查看”),否则会返回权限错误,VideoView依然无法播放。

2. 修正网络安全配置

你的network-security-config只信任了diligent_app.com,但Google Drive的资源来自google.com和googleusercontent.com,需要把这些域名加入信任列表,否则会出现SSL验证失败的问题:

<network-security-config>
  <domain-config>
    <domain includeSubdomains="true">diligent_app.com</domain>
    <domain includeSubdomains="true">google.com</domain>
    <domain includeSubdomains="true">googleusercontent.com</domain>
    <trust-anchors>
      <certificates src="system"/>
    </trust-anchors>
  </domain-config>
</network-security-config>

3. 验证链接有效性(可选但推荐)

在浏览器中打开修改后的链接,如果能直接下载视频,或者浏览器能在线播放,说明链接是有效的。你也可以用命令行工具(比如curl)查看返回的MIME类型:

curl -I https://drive.google.com/uc?export=download&id=1CRJ8tL-DyjD0Nwd7ezkboGm6570zMf4C

如果返回的Content-Type是video/mp4(或其他视频格式),说明链接没问题。

补充:大文件的特殊情况

如果你的视频文件较大(超过100MB),Google Drive可能会弹出安全验证页面,这时候上面的直接链接会返回网页内容。这种情况下,你可以:

  • 尝试添加&confirm=t参数到链接末尾:https://drive.google.com/uc?export=download&id=[FILE_ID]&confirm=t
  • 或者使用Google Drive API获取签名后的直接播放链接(适合需要处理私有文件或大文件的场景,不过需要额外的API配置)

最后,把修改后的Uri和修正的网络配置应用到你的项目中,应该就能正常播放视频了。

内容的提问来源于stack exchange,提问作者user15583048

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 08:47:44