Android应用使用android-youtube-player库出现VIDEO_NOT_PLAYABLE_IN_EMBEDDED_PLAYER错误的疑难问题求助
Android应用使用android-youtube-player库出现VIDEO_NOT_PLAYABLE_IN_EMBEDDED_PLAYER错误的疑难问题求助
各位大佬,我最近碰到一个超级头疼的问题,折腾了好久都没找到根源,想请大家帮忙支支招!
我用android-youtube-player库在Android应用里嵌入YouTube视频播放,但是部分用户会遇到这样的诡异情况:
- 突然所有视频都报
VIDEO_NOT_PLAYABLE_IN_EMBEDDED_PLAYER错误,不管视频的作者是谁、所在地区是什么,统统无法播放 - 这个错误是持续性的:重启APP、甚至重启设备都没用,但换一台设备打开我的APP就能正常播放;而且过个几天,这个问题又会自动消失,视频又能正常播放了
- 同一个有问题的设备上,这个库的官方示例APP却能正常播放视频,只有我的APP不行;但如果把我的APP卸载重装,问题立刻就消失了
- 每天大概有4-5个用户反馈这个问题,这些用户都没有滥用或刷量行为,甚至有人可能一周都没打开过APP,再次打开就遇到了这个错误
以下是我初始化播放器的核心代码:
class PlayerYoutube : YouTubePlayerListener { override fun initPlayer( activity: ComponentActivity, container: ViewGroup, cClanguage: String? ) { youTubePlayerView = YouTubePlayerView(activity) youTubePlayerView!!.enableAutomaticInitialization = false container.addView(youTubePlayerView) val optionsBuilder = IFramePlayerOptions.Builder() .controls(0)//web UI is not visible. .rel(0)//related videos will come from the same channel as the video that was just played .ivLoadPolicy(3)//the player won't show annotations. .fullscreen(0)//disable full screen button if (!cClanguage.isNullOrEmpty()) { optionsBuilder.ccLoadPolicy(1)//the player will show captions optionsBuilder.langPref(cClanguage)//captions shown with specific language } else { optionsBuilder.ccLoadPolicy(0) } youTubePlayerView!!.initialize( youTubePlayerListener = this, handleNetworkEvents = true, playerOptions = optionsBuilder.build() ) youTubePlayerView!!.inflateCustomPlayerUi(R.layout.tv_player_ui) } override fun onReady(youTubePlayer: YouTubePlayer) { player = youTubePlayer tracker = YouTubePlayerTracker() player!!.loadVideo("videoId", 0f) player!!.addListener(tracker!!) } }
我自己琢磨了可能的几个方向,但不确定:
- 会不会是YouTube的嵌入式播放器针对我的APP包名/签名触发了临时限制?毕竟卸载重装就好,可能和缓存的会话信息有关?
- 是不是我初始化时的
IFramePlayerOptions配置有问题?对比示例APP的配置,好像差异不大,但会不会某些参数(比如隐藏UI、关闭全屏)触发了检测? - 本地缓存的问题?比如播放器存储了某些异常状态,卸载重装清除了缓存就恢复了?
有没有大佬遇到过类似的问题,或者能给我一些排查的方向?万分感谢!
内容来源于stack exchange
相关产品推荐
相关产品推荐

