当前位置: 首页 > news >正文

电子商务网站建设与管理实训北京网站设计济南兴田德润评价

电子商务网站建设与管理实训,北京网站设计济南兴田德润评价,岳阳品牌网站定制开发,wordpress 两个导航html中的video标签可以用来播放常见的音视频格式#xff0c;支持的格式包括:MP3、Ogg、WAV、AAC、MP4、WebM、AVI等#xff0c;当然支持的格式也和浏览器和操作系统有关。这里以一个可以自动播放音视频并绘制波形图的页面为例说明一下video标签的用法。 vid…html中的video标签可以用来播放常见的音视频格式支持的格式包括:MP3、Ogg、WAV、AAC、MP4、WebM、AVI等当然支持的格式也和浏览器和操作系统有关。这里以一个可以自动播放音视频并绘制波形图的页面为例说明一下video标签的用法。 video标签想自动播放需要设置三个可选属性分别是muted、autoplay、controlsmuted负责让音视频播放静音autoplay让音视频自动播放controls属性负责显示对应的控制菜单。除了通过html页面设置标签属性之外我们还可以通过js脚本来设置对应的属性设置方法如下所示: !DOCTYPE html html headtitle播放音视频/titlemeta charsetUTF-8 /head bodyvideo idmyVideo autoplay muted controlssource src./mysong.mp3 typeaudio/mpeg!--source srcvideo.mp4 typevideo/mp4--Your browser does not support the video tag./videoscriptvar videoElement document.getElementById(myVideo);// 自动静音播放videoElement.muted true; videoElement.autoplay true;videoElement.controls true;/script /body /html浏览器为了防止页面自动播放音频干扰用户不允许在用户没有进行交互操作的时候网页自动以非静音的模式播放音视频。所以autoplay属性必须搭配muted属性一块使用。 如果想要绘制音视频播放过程中的音频波形图我们需要拦截对应的音频上下文分析绘制对应的音频数据。对应的实现如下所示: !DOCTYPE html html headtitle绘制音频波形图/titlemeta charsetUTF-8 /head bodyh1绘制音频波形图/h1video idmyVideo controlssource src./mysong.mp3 typeaudio/mpegYour browser does not support the video tag./videocanvas idwaveformCanvas/canvas script// 获取video元素和canvas元素let video,analyser,ctx,canvas,audioContext,timerID,analyserNode;video document.getElementById(myVideo);//播放的时候调用初始化操作video.addEventListener(play,initWaveDraw);//获取画布元素canvas document.getElementById(waveformCanvas);ctx canvas.getContext(2d);function initWaveDraw(){// 创建音频上下文if(!audioContext){audioContext new(window.AudioContext || window.webkitAudioContext)();analyser audioContext.createAnalyser();analyser.connect(audioContext.destination);analyserNode audioContext.createMediaElementSource(video);analyserNode.connect(analyser);timerID setInterval(drawWaveform,200); }}// 绘制波形图function drawWaveform() {// 获取波形数据var bufferLength analyser.fftSize;console.log(drawing wave);var dataArray new Uint8Array(bufferLength);analyser.getByteTimeDomainData(dataArray);// 清空画布ctx.clearRect(0, 0, canvas.width, canvas.height);// 绘制波形图ctx.lineWidth 2;ctx.strokeStyle rgb(0, 255, 255);ctx.beginPath();var sliceWidth canvas.width * 1.0 / bufferLength;var x 0;for (var i 0; i bufferLength; i) {var v dataArray[i] / 128.0;var y v * canvas.height / 2;if (i 0) {ctx.moveTo(x, y);} else {ctx.lineTo(x, y);}x sliceWidth;}ctx.lineTo(canvas.width, canvas.height / 2);ctx.stroke();} /script /body /html显示效果如下图所示: 如果想让播放器自动播放音频并放音我们可以采用一些迂回策略首先让播放器自动静音播放然后设置一个定时器检测用户是否和页面发生了操作交互如果产生了交互就播放音频并绘制波形图。(浏览器默认没有交互的时候不允许播放声音) 对应的实现如下所示: !DOCTYPE html html headtitle绘制音频波形图/titlemeta charsetUTF-8 /head bodyh1绘制音频波形图/h1video idmyVideo controlssource src./mysong.mp3 typeaudio/mpegYour browser does not support the video tag./videocanvas idwaveformCanvas/canvas script// 获取video元素和canvas元素let video,analyser,ctx,canvas,audioContext,timerID, checktimerID, analyserNode;var hasUserInteracted false;video document.getElementById(myVideo);//获取画布元素canvas document.getElementById(waveformCanvas);ctx canvas.getContext(2d);video.muted true; video.autoplay true;video.controls true;// 监听键盘按下事件function handleUserInteraction(){console.log(user has interacted);hasUserInteracted true;}document.addEventListener(click, handleUserInteraction);checktimerID setInterval(checkMouseClick, 1000);setTimeout(function(){ video.addEventListener(volumechange,handleUserInteraction);},2000);//定时检测鼠标事件,开启带声音的播放function checkMouseClick(){if(hasUserInteracted){ initWaveDraw();video.muted false; video.play(); clearInterval(checktimerID);}}function initWaveDraw(){// 创建音频上下文if(!audioContext){audioContext new(window.AudioContext || window.webkitAudioContext)();analyser audioContext.createAnalyser();analyser.connect(audioContext.destination);analyserNode audioContext.createMediaElementSource(video);analyserNode.connect(analyser);timerID setInterval(drawWaveform,200); }}// 绘制波形图function drawWaveform() {// 获取波形数据var bufferLength analyser.fftSize;console.log(drawing wave);var dataArray new Uint8Array(bufferLength);analyser.getByteTimeDomainData(dataArray);// 清空画布ctx.clearRect(0, 0, canvas.width, canvas.height);// 绘制波形图ctx.lineWidth 2;ctx.strokeStyle rgb(0, 255, 255);ctx.beginPath();var sliceWidth canvas.width * 1.0 / bufferLength;var x 0;for (var i 0; i bufferLength; i) {var v dataArray[i] / 128.0;var y v * canvas.height / 2;if (i 0) {ctx.moveTo(x, y);} else {ctx.lineTo(x, y);}x sliceWidth;}ctx.lineTo(canvas.width, canvas.height / 2);ctx.stroke();} /script /body /html
http://www.huolong8.cn/news/431080/

相关文章:

  • 网站建设购买模板东城网站制作公司
  • 深圳金鼎网站建设模板网站建设制作
  • 电商型网站建设价格导航网站怎么做点击
  • 上海工程建设安全协会网站做网站的竞品分析
  • 旅发集团网站建设方案关于加强网站建设的情况说明
  • 网站开发费怎么入账wordpress主题离线编辑
  • vs网站开发 百度文库正邦设计广州分公司
  • 怎么给自己的品牌做网站wordpress上下页翻页
  • jsp网站 iis青岛哪家做网站的公司好
  • 广西网站建设泉州台商区建设局网站
  • 提供温州手机网站制作哪家好网站分页符素材
  • 顺的网站建设信息临汾网站建设 吕梁网站建设
  • 湖南长沙网站建设厦门互联网公司排名
  • 盐山县做网站价格湛江制作网站企业
  • 网站前端程序制作开发成都网站设计最加科技
  • 公司网站建设佛山哪家彩票网站怎么做收银
  • 用网盘做网站免费网站建设案例
  • 怎么做考试资料网站wordpress wp admin
  • 做网站和做小程序有什么不同做网站所用的工具
  • 自贡企业网站建设做led视频好的网站
  • 宁夏建设工程招标投标信息网站wordpress 自己做主题
  • wordpress整站手机端嘉定区 网站建设
  • 上海营销型网站建设公司简历制作免费模板下载
  • 重庆微信营销网站wordpress 子站点函数
  • 做网站不会框架广东住房建设厅网站
  • 企业网站建设的定位网页打不开但是微信和qq都可以上
  • 以什么主题做网站好企业为什么要建站
  • 优化网站 主题icp备案需要先建设网站么
  • wordpress短代码显示成都百度推广优化
  • 怎么套模板 网站做淘宝门头的网站