技术标签: Javascript video
1.html
<video id="minione-video" class="minione-video" poster="./common/images/mini-one/miniONE_BG2.jpg" autoplay="autoplay" muted="muted" preload>
<source type="video/mp4" src="http://c1.mifile.cn/f/i/16/chain/airpro/airpro-top.mp4">
<!--<source type="video/mp4" src="./common/images/mini-one/mini-one-video.mp4">-->
<!--<source type="video/mp4" src="./common/images/mini-one/mini-one-video.Ogg">-->
<img src="./common/images/mini-one/BG2.jpg" alt="one">
</video>
2.demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>Fake auto play html audio in iOS Safari the right way</title>
<style>
video{
width: 100%;
}
</style>
</head>
<body>
<video id="bgmusic" autoplay preload muted>
<source type="video/mp4" src="http://c1.mifile.cn/f/i/16/chain/airpro/airpro-top.mp4">
</video>
<script>
(function() {
function log(info) {
console.log(info);
// alert(info);
}
function forceSafariPlayAudio() {
audioEl.load(); // iOS 9 还需要额外的 load 一下, 否则直接 play 无效
audioEl.play(); // iOS 7/8 仅需要 play 一下
}
var audioEl = document.getElementById('bgmusic');
// 可以自动播放时正确的事件顺序是
// loadstart
// loadedmetadata
// loadeddata
// canplay
// play
// playing
//
// 不能自动播放时触发的事件是
// iPhone5 iOS 7.0.6 loadstart
// iPhone6s iOS 9.1 loadstart -> loadedmetadata -> loadeddata -> canplay
// audioEl.addEventListener('loadstart', function() {
// log('loadstart');
// }, false);
// audioEl.addEventListener('loadeddata', function() {
// log('loadeddata');
// }, false);
// audioEl.addEventListener('loadedmetadata', function() {
// log('loadedmetadata');
// }, false);
// audioEl.addEventListener('canplay', function() {
// log('canplay');
// }, false);
// audioEl.addEventListener('play', function() {
// log('play');
// // 当 audio 能够播放后, 移除这个事件
// window.removeEventListener('touchstart', forceSafariPlayAudio, false);
// }, false);
// audioEl.addEventListener('playing', function() {
// log('playing');
// }, false);
// audioEl.addEventListener('pause', function() {
// log('pause');
// }, false);
// 由于 iOS Safari 限制不允许 audio autoplay, 必须用户主动交互(例如 click)后才能播放 audio,
// 因此我们通过一个用户交互事件来主动 play 一下 audio.
window.addEventListener('ready', forceSafariPlayAudio, false);
// audioEl.src = 'http://c1.mifile.cn/f/i/16/chain/airpro/airpro-top.mp4';
})();
</script>
</body>
</html>
#!/usr/bin/env python是用来说明脚本语言是 python 的是要用 /usr/bin下面的程序(工具)python,这个解释器,来解释 python 脚本,来运行 python 脚本的但是,事实上可以用预先配置来解决这个问题...
如图所示,以ARM,DSP等SOC为核心的电子系统中,经常存在两片或者以上的DDR/DDRII SDRAM。考虑到DDR/DDRII SDRAM的运行频率一般都比较高,在做PCB layout的时候需要等长布线来保证DDR/DDRII SDRAM的读写时序。对于包含两片及以上DDR/DDRII SDRAM的系统,这里要求的等长布线有两层含义。拿ADDRESS信号来讲,第一层含义要求从SOC的某一个
转自开源中国http://www.oschina.net/news/48904/android-x86-4-4-rc1?from=20140216#comments Android-x86 4.4 RC1 发布了,下载地址:android-x86-4.4-RC1.iso (294MB).该版本基于 Android 4.4.2,发行说明:http://www.android-x...
1. 获取资料 网址:https://blog.csdn.net/xts_huangxin/article/details/51494472 感谢原作者 这里面 按照自己的机器情况进行了学习模仿 并且mark一下.2. 下载yaml 文件:https://github.com/FlyingShit-XinHuang/my-doc/blob/master/k8s/pv%26pvc/n...
说明:功能完全支持ie和firefox浏览器! 一般的WEB方式文件上传只能使用FileUpload控件进行一个文件一个文件的进行上传,就算是批量上传,也要把文件一个一个的添加到页面,无法如
“ 也许人们都看到了马云的成功,但并不一定都知道他们是怎么成功的,他的成功又给我们多少启示。因为在马云创业的7年中,人们看到的马云都是隐藏在马云制造的媒体背影中的:人们仅仅看到的是一个说大话的马云、一个会忽悠人的马云,而没有真正认识马云的商业智慧。 ” 马云在互联网中的商业智慧就如同浙江那些传统的生意人一般,你永远琢磨不透,却对你充满着吸引力,即使你非常非常不喜欢他
所谓粘包问题主要还是C/S两端数据传输时 因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的根本原因:粘包是由TCP协议本身造成的,TCP为提高传输效率,发送方往往要收集到足够多的数据后才发送一个TCP段。若连续几次需要send的数据都很少,通常TCP会根据优化算法把这些数据合成一个TCP段后一次发送出去,这样接收方就收到了粘包数据。解决方法:1、自定义字典类型 的...
1.安装 svg-sprite-loadernpm install svg-sprite-loader --save-dev2.配置build文件夹中的webpack.base.conf.js3.在src/components下新建文件夹及文件SvgIcon/index.vue4.在src下新建icons文件夹,及icons文件夹下svg文件夹、index.j...
div style="width: 330px; height: 50px; overflow: scroll;overflow-x: hidden;scrollbar-track-color: #95A6AA;scrollbar-darkshadow-color: #85989C;"> 文本文本文本文本div>属性解释:overflow: scroll;超出部分滚动条默认左右
1 exit, _exit, _Exit and atexit在解释前三个之前先说说这个:#include int atexit(void (*function)(void));atexit: 注册终止函数,即结束的时候由exit调用所注册的那些函数。ISO C规定,至少可以注册32个函数。exit调用这些注册函数的顺序与它们登记时候的顺序相
pthread_mutexattr_init 函数功能 :初始化互斥锁属性对象 函数头文件 :#include
一、实验目的1. 理解单片机中断的概念。2. 掌握外部中断的编程方法。二、实验内容1. 验证课堂例题编译下载运行课堂例题——“按键次数显示”(INT_EX1)和“按键次数显示清零”(INT_EX2),查看运行结果。理解程序的编程思想和程序执行过程。2. 设计程序参考上述例题的电路和编程思路,自行设计电路,包括三个按键K1、K2和K3,分别连接外部中断INT0-INT2,6位数码管显示,1个LED报警灯;编程实现K1按键次数的显示,显示数据清零和次数越限报警等功能。具体要求