Youtube 视频自动播放
最近在做一项目的时候,需要播放Youtube视频。播放方式大体有三种
1. WebView(我最终用的)
2. Youtube SDK(需要谷歌开发者账户)
3. VideoView
其他两种方式大家自行研究,本篇想说的时候在使用WebView的时候遇到的不能自动播放问题。
注:Demo中使用的是kotlin
首先说一下webview的正常加载Youtube视频的逻辑
嵌入视频
- 在计算机上,找到想要嵌入的 YouTube 视频。
- 在视频下方,点击分享 。
- 点击嵌入。
- 复制出现的方框中的 HTML 代码。
- 将该代码粘贴到您的博客或网站 HTML 中
项目中代码:
val videohtml = "<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/HxHRbxhNZyU?list=PLbuqoK5oI0xKH4exZzZDMOCqpFRi2Ar6E?loop=2&autoplay=1\" frameborder=\"0\" allowfullscreen></iframe>"
但是最终发现始终无法完成自动播放,提示“如果没有开始自动播放,请重启终端设备”。
看网上有很多说法
集中的可以看
https://stackoverflow.com/questions/15946183/android-webview-html5-video-autoplay-not-working-on-android-4-0-3
https://stackoverflow.com/questions/16416935/youtube-iframe-embeds-cannot-autoplay-on-android
最终解决方案
但是我最终采用了一个看似暴力的方法,模拟点击,其中故意延迟一秒防止还没有加载出来。
实现方式如下:
webview.setWebChromeClient(object : WebChromeClient() {override fun onProgressChanged(view: WebView, newProgress: Int) {Log.d(TAG, "progress:" + newProgress)if (newProgress == 100) {var downTime = SystemClock.uptimeMillis()downTime += 1000val downEvent = MotionEvent.obtain(downTime, downTime,MotionEvent.ACTION_DOWN, view.x + view.width / 2, view.y + view.height / 2, 0)val upEvent = MotionEvent.obtain(downTime, downTime,MotionEvent.ACTION_UP, view.x + view.width / 2, view.y + view.height / 2, 0)view.onTouchEvent(downEvent)view.onTouchEvent(upEvent)downEvent.recycle()upEvent.recycle()}super.onProgressChanged(view, newProgress)}})
Youtube 视频自动播放相关推荐
- html插入视频时不自动播放,html5中嵌入视频自动播放的问题解决
在h5页面中嵌入视频的情况是比较多件的,有时候会碰到需要自动播放的情况,之前根本觉得这不是问题,但是自己的项目中需要视频的时候就有点sb了,达不到老板的要求,那个急呀~~~ 各种查资料,找到一个方法, ...
- twitter全自动发推_如何阻止Twitter视频自动播放
twitter全自动发推 As you scroll through your Twitter Timeline, by default, videos will start autoplaying. ...
- uniapp ----小程序上下滑动页面,视频自动播放(完整代码)
uniapp ----小程序上下滑动页面,视频自动播放(完整代码) <template><view class="box"><f-navbar tit ...
- 视频自动播放代码(优酷、搜狐、酷6、土豆等)
一.优酷.搜狐视频自动播放代码(更换地址即可) 如下: width=700 height=550 type=application/x-shockwave-flash wmode="opaq ...
- 详解:如何让优酷、土豆、56、mofile视频自动播放
详解:如何让优酷.土豆.56.mofile视频自动播放 一.优酷视频自动播放的方法 (引用优酷播放器做背景音乐时,可将高宽设置为较小值以达到隐藏效果,当然必须设置为自动播放) 如: <embed ...
- iOS 微信 音视频自动播放 原生接口WeixinJSBridge API(一些整理 小技巧)
原文链接1:https://www.w3ctech.com/topic/1165 原文链接2:https://www.cnblogs.com/jasonduan/p/5635048.html 做一下整 ...
- 微信H5同层播放器以及视频自动播放
iOS之前已经解决了视频播放默认全屏,且浮在页面最顶端的问题 playsinline webkit-playsinline 这样就可以在视频之上进行一些操作,实现诸如弹幕.自定义播放控件等的效果. 但 ...
- PPT视频自动播放?
PPT视频自动播放? 找了半天,哎呀
- 解决手机微信浏览器视频自动播放和默认全屏问题
1.早期因为带宽和流量的因素,移动端浏览器禁止视频自动播放,现在现在流量便宜了.手机硬件越来越好了,部分可支持了 2.在移动端浏览器, video 在用户点击播放或者通过API video.play( ...
- 各大网站视频自动播放代码(优酷、搜狐、酷6、土豆等)
注:可以复制或涂蓝后同时按左下角CTRL+C即可复制. 如何将Flash素材保存到电脑硬盘? http://lxc66188.blog.163.com/blog/static/91764986 ...
最新文章
- java bean 工厂模式_Spring框架通过工厂创建Bean的三种方式实现
- mybatis的逆向工程
- java web源代码_检测Java Web应用程序而无需修改其源代码
- 华为云一站式AI开发平台ModelArts获2019全球智博会金奖
- 华为发布MetaAAU 能耗降低30% 性能节能双提升
- wxpython 树菜单单击_请教怎么在wxpython调用windows系统的右键菜单(context menu)?
- 【2】Keras之激活函数
- Lua中的聊天屏蔽敏感词汇
- 使用WebService获取第三方服务数据
- 点歌机终端服务器停止服务怎么办,点歌机常见问题解析
- Winodws update auto update client(wuauclt)
- linux cp -v,linux cp
- 21个奇葩注释,程序员看了都点赞
- 户外蓝牙小音箱值得买
- python for循环与函数
- testflight怎么做版本更新_苹果更新 TestFlight 3.0 版本:能自动更新内测应用了
- 华为代理服务器相关配置
- [小技巧]chrome 标签切换快捷键
- HTML基础篇(2)
- 上海地铁和Metro大都会手机应用的常见问题
热门文章
- Ubuntu20.04下载安装UltraEdit(高级文本编辑器)
- HTML5视频方案:支持iPad Safari、Firefox、Chrome、IE9876
- EpiDope:用于线性B细胞表位预测的深度神经网络
- 百度UEditor编辑器压缩(缩放)图片只压缩jpg格式的解决方法
- android 清理垃圾代码_这7个手机文件夹,让你更了解如何清理手机内存
- 【Golang】家庭收支记账软件
- 服务器添加打印机显示没有权限,无法连接打印机(没有权限使用网络资源)解决方法和原因...
- win7设置ipsec_Win7系统设置L2TP的方法【图文教程】
- linux img 转 iso,Ubuntu下将img 转化成iso
- crispr基因编辑_用CRISPR编程基因组