YouTube视频在浏览器中可以正常播放,但在Flutter应用中失败,错误码为152-4
我正在开发一个Flutter应用(已在Android 12和 Android 14上测试)并使用 youtube_player_iframe(或youtube_player_flutter)嵌入YouTube视频。
视频:
- 在手机的Chrome浏览器上工作完美
- 设置为 "未公开"
- 允许嵌入
- 无年龄限制
- 无版权声明
然而,在Flutter应用中,视频无法加载并显示:
错误代码:152-4
“本视频不可用。请在YouTube上观看。”
环境:
- Flutter SDK:3.x
- Android设备:Moto G60 / Android 12
- 另一个测试设备:Android 14
- WebView已更新
示例初始化代码:
YoutubePlayerController(
initialVideoId: videoId,
params: const YoutubePlayerParams(
autoPlay: false,
showFullscreenButton: true,
),
);
问题:
- 为什么视频在浏览器中可以正常播放,而在Flutter的嵌入式播放器中却失败?
- 错误代码152-4是否与YouTube的嵌入限制有关?
- 这是YouTube最近的策略变动吗?
- 非常感谢任何帮助。
解决方案
在使用 youtube_player_iframe 时,我也遇到了同样的问题。视频在浏览器中可以正常播放,但在Flutter应用中失败,错误为 152-4(“本视频不可用。请在YouTube上观看。”)。
在测试了多项因素(WebView更新、视频隐私设置、嵌入权限)后,问题似乎与Flutter WebView内对iframe播放器的处理方式有关。
将 youtube_player_iframe 切换为 youtube_player_flutter 后,问题立刻解决。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。