腾讯技术总结!超实用的HTML5接口全方位测试总结文(一)优设网

编者按:今天腾讯万技师同学的这篇技术总结必须强烈安利下,目录清晰,层次分明,每个接口都有对应的简介、系统要求、实例、核心代码以及超实用的思维发散,帮你直观把这些知识点get起来。以现在HTML5的势头,同志们,你看到的这些,可都是钱呐。

十二年前,无论多么复杂的布局,在我们神奇的table面前,都不是问题;

十年前,阿捷的一本《网站重构》,为我们开启了新的篇章;

八年前,我们研究yahoo.com,惊叹它在IE5下都表现得如此完美;

六年前,Web标准化成了我们的基础技能,我们开始研究网站性能优化;

四年前,我们开始研究自动化工具,自动化测试,谁没玩过nodejs都不好意思说是页面仔;

二年前,各种终端风起云涌,响应式、APP开发都成为了我们研究的范围,CSS3动画开始风靡;

如今,CSS3动画、Canvas、SVG、甚至webGL你已经非常熟悉,你是否开始探寻,接下来,我们可以玩什么,来为我们项目带来一丝新意?

一、让音乐随心而动-音频处理WebaudioAPI二、捕捉用户摄像头-媒体流MediaCapture三、你是逗逼?-语音识别WebSpeechAPI四、让我尽情呵护你-设备电量BatteryAPI五、获取用户位置-地理位置GeolocationAPI六、把用户捧在手心-环境光AmbientLightAPI七、陀螺仪Deviceorientation八、Websocket九、NFC十、震动-VibrationAPI十一、网络环境ConnectionAPI

简介:

Audio对象提供的只是音频文件的播放,而WebAudio则是给了开发者对音频数据进行分析、处理的能力,比如混音、过滤。

系统要求:

ios6+、androidchrome、androidfirefox

实例:

核心代码:

varcontext=newwebkitAudioContext();varsource=context.createBufferSource();//创建一个声音源source.buffer=buffer;//告诉该源播放何物createBufferSourcesource.connect(context.destination);//将该源与硬件相连source.start(0);//播放技术分析:

当我们加载完音频数据后,我们将创建一个全局的AudioContext对象来对音频进行处理,AudioContext可以创建各种不同功能类型的音频节点AudioNode,比如

1、源节点(sourcenode)

我们可以使用两种方式加载音频数据:<1>、audio标签

varsound,audio=newAudio();audio.addEventListener('canplay',function(){sound=context.createMediaElementSource(audio);sound.connect(context.destination);});audio.src='/audio.mp3';<2>、XMLHttpRequest

varsound,context=createAudioContext();varaudioURl='/audio.mp3';//音频文件URLvarxhr=newXMLHttpRequest();xhr.open('GET',audioURL,true);xhr.responseType='arraybuffer';xhr.onload=function(){context.decodeAudioData(request.response,function(buffer){source=context.createBufferSource();source.buffer=buffer;source.connect(context.destination);}}xhr.send();2、分析节点(analysernode)

我们可以使用AnalyserNode来对音谱进行分析,例如:

varaudioCtx=new(window.AudioContext||window.webkitAudioContext)();varanalyser=audioCtx.createAnalyser();analyser.fftSize=2048;varbufferLength=analyser.frequencyBinCount;vardataArray=newUint8Array(bufferLength);analyser.getByteTimeDomainData(dataArray);functiondraw(){drawVisual=requestAnimationFrame(draw);analyser.getByteTimeDomainData(dataArray);//将dataArray数据以canvas方式渲染出来};draw();3、处理节点(gainnode、pannernode、waveshapernode、delaynode、convolvernode等)

不同的处理节点有不同的作用,比如使用BiquadFilterNode调整音色(大量滤波器)、使用ChannelSplitterNode分割左右声道、使用GainNode调整增益值实现音乐淡入淡出等等。

4、目的节点(destinationnode)

所有被渲染音频流到达的最终地点

思维发散:

通过getUserMedia捕捉用户摄像头获取视频流和通过麦克风获取用户声音。

androidchrome、androidfirefox

捕获用户摄像头捕获用户麦克风

1、摄像头捕捉

navigator.webkitGetUserMedia({video:true},function(stream){video.src=window.URL.createObjectURL(stream);localMediaStream=stream;},function(e){})2、从视频流中拍照

btnCapture.addEventListener('touchend',function(){ if(localMediaStream){ canvas.setAttribute('width',video.videoWidth); canvas.setAttribute('height',video.videoHeight); ctx.drawImage(video,0,0); }},false);3、用户声音录制

navigator.getUserMedia({audio:true},function(e){ context=newaudioContext(); audioInput=context.createMediaStreamSource(e); volume=context.createGain(); recorder=context.createScriptProcessor(2048,2,2); recorder.onaudioprocess=function(e){ recordingLength+=2048; recorder.connect(context.destination); } },function(error){});4、保存用户录制的声音

varbuffer=newArrayBuffer(44+interleaved.length*2);varview=newDataView(buffer);fileReader.readAsDataURL(blob);//androidchromeaudio不支持blob…audio.src=event.target.result;思维发散:

1、从视频拍照自定义头像;2、H5视频聊天;3、结合canvas完成好玩的照片合成及处理;4、结合WebAudio制作有意思变声应用。

1、将文本转换成语音;2、将语音识别为文本。

系统要求:ios7+,androidchrome,androidfirefox

测试实例:

1、文本转换成语音,使用SpeechSynthesisUtterance对象;

varmsg=newSpeechSynthesisUtterance();varvoices=window.speechSynthesis.getVoices();msg.volume=1;//0to1msg.text=‘识别的文本内容’;msg.lang='en-US';speechSynthesis.speak(msg);2、语音转换为文本,使用SpeechRecognition对象。

varnewRecognition=newwebkitSpeechRecognition();newRecognition.onresult=function(event){ varinterim_transcript=''; for(vari=event.resultIndex;i

1、Android支持不稳定;语音识别测试失败(暂且认为是某些内置接口被墙所致)。

1、当语音识别成为可能,那声音控制将可以展示其强大的功能。在某些场景,比如开车、网络电视,声音控制将大大改善用户体验;2、H5游戏中最终分数播报,股票信息实时声音提示,WebSpeech都可以大放异彩。

查询用户设备电量及是否正在充电。

androidfirefox

varbattery=navigator.battery||navigator.webkitBattery||navigator.mozBattery||navigator.msBattery;varstr='';if(battery){str+='

你的浏览器支持HTML5BatteryAPI

';if(battery.charging){str+='

你的设备正在充电

';}else{str+='

你的设备未处于充电状态

';}str+='

你的设备剩余'+parseInt(battery.level*100)+'%的电量

';}else{str+='

你的浏览器不支持HTML5BatteryAPI

';}测试结论:

相对而言,我觉得这个接口有些鸡肋。很显然,并不合适用HTML5做电池管理方面的工作,它所提供的权限也很有限。我们只能尝试做一些优化用户体验的工作,当用户设备电量不足时,进入省电模式,比如停用滤镜、摄像头开启、webGL、减少网络请求等。

GeolocationAPI用于将用户当前地理位置信息共享给信任的站点,目前主流移动设备都能够支持。

ios6+、android2.3+

这段代码实现感应用前当前环境光强度,调整网页背景和文字颜色。

vardomInfo=$('#info');if(!('ondevicelight'inwindow)){ domInfo.innerHTML='你的设备不支持环境光AmbientLightAPI';}else{ varlightValue=document.getElementById('dl-value'); window.addEventListener('devicelight',function(event){ domInfo.innerHTML='当前环境光线强度为:'+Math.round(event.value)+'lux'; varbackgroundColor='rgba(0,0,0,'+(1-event.value/100)+')'; document.body.style.backgroundColor=backgroundColor; if(event.value<50){ document.body.style.color='#fff' }else{ document.body.style.color='#000' } });}思维发散:

该接口适合的范围很窄,却能做出很贴心的用户体验。

2、该接口也可以应用于H5游戏场景,比如日落时分,我们可以在游戏中使用安静祥和的游戏场景;

THE END
1.腾讯重磅发布,文生视频上线,好不好用?美卫星:中国福建舰甲板出现大裂缝 历史求知所 1339跟贴 讲真,是球网先动手的!!! 新媒体 论背景音乐的重要性!! 新媒体 旁边有个抢活的…怎么办?人都过去了? 新媒体 多喝热水,热水治百病! 新媒体 59跟贴 这滑的挺远的哈,棒棒哒 新媒体 1跟贴 战斗民族糗事汇,每个都是爆笑 新媒体 5跟贴 https://m.163.com/v/video/VFHPMKHLP.html
2.网站地图腾讯于1998年11月成立,是一家互联网公司,通过技术丰富互联网用户的生活,助力企业数字化升级。我们的使命是“用户为本 科技向善”。Founded in 1998, Tencent is an Internet-based platform company using technology to enrich the lives of Internet users and assist https://www.tencent.com/zh-cn/sitemap.html
3.小说,小说网,最新热门小说起点中文网起点中文网,最新热门小说网站,提供玄幻小说、武侠小说、原创小说、网游小说、都市小说、言情小说、青春小说、科幻小说等首发小说,最新章节在线阅读。更多精彩尽在起点中文网小说网。https://www.qidian.com/
4.20241208人和自己打架是很难受的,但总要过了这一关,写文就是写心!文字不能很好表达自己想要表达的那种思想是很痛苦的。 写多不如写少,写少不如写好! 少就是多,多就是少! 再来体会,意义非凡。知识知道的永远比未知的多,文学深似海,你的一滴可有可无。https://www.jianshu.com/p/45c171d533eb
5.腾讯混元大模型再度升级,文生图能力震撼发布,全面实测解析2023 年,大模型的落地按下加速键,文生图便是最火热的应用方向之一。 自从Stable Diffusion 诞生以来,海内外的文生图大模型不断涌现,一时有「神仙打架」之感。每一次技术迭代,都带来了模型生成效果和速度的飞速提升。 就在今天,腾讯混元大模型也宣布了最新进展:文生图能力正式上线。 https://www.php.cn/faq/622784.html
6.腾讯混元大模型升级:新增“文生图”,代码能力大幅提升雷峰网10月26日,腾讯宣布,腾讯混元大模型迎来全新升级,并正式对外开放“文生图”功能,展示了其在图像自动生成领域的领先能力。升级后的腾讯混元中文能力整体超过GPT3.5,代码能力大幅提升20%,达到业界领先水平。 作为实用级的通用大模型,腾讯混元大模型的应用场景丰富多样。目前,超过180个腾讯内部业务已接入腾讯混元,包括腾讯会https://www.leiphone.com/news/202310/qVAm7ejMqj20r678.html
7.腾讯混元大模型升级:新增“文生图”,代码能力大幅提升10月26日,腾讯宣布腾讯混元大模型迎来全新升级,并正式对外开放“文生图”功能,展示了其在图像自动生成领域的能力。升级后的腾讯混元中文能力整体超过GPT3.5,代码能力大幅提升20%。 作为实用级的通用大模型,腾讯混元大模型的应用场景丰富多样。目前,超过180个腾讯内部业务已接入腾讯混元,包括腾讯会议、腾讯http://www.xinhuanet.com/tech/20231026/cfdedd8998a040b1a2511697951201c0/c.html
8.文轩宇1文轩宇 编辑 作者简介 :2009年入住腾讯原创读书网,作品极品妖孽在腾讯男频玄幻总点击第一,玄幻总推荐第一,腾讯总推荐榜第一。 :2009年7月在腾讯读书网发表第一本百万字作品《潜龙天下》,后签约腾讯原创独家作者。 :2009年11月在腾讯读书网发表作品《极品妖孽》现已更新五百余万字(完结)。 https://baike.sogou.com/v23304722.htm
9.腾讯开源文生图大模型,AI给艺术创作者提供灵感还是抢饭碗?腾讯发布针对腾讯混元文生图开源大模型(以下简称为混元DiT模型)的加速库,让推理效率大幅提升,生图时间缩短75%。 混元DiT模型的使用门槛也大幅降低。用户可以基于ComfyUI的图形化界面,使用腾讯混元文生图模型能力。同时,混元DiT模型已经部署至Hugging Face Diffusers通用模型库中,用户仅用三行代码即可调用混元DiT模型,无需下https://www.xianjichina.com/special/detail_549958.html
10.腾讯混元:开源训练代码,升级文生图模型股票频道腾讯混元文生图大模型全面开源训练代码,同时开源 LoRA 小规模数据集训练方案与可控制插件 ControlNet,构建更具想象力的开源生态。 【腾讯混元文生图大模型全面开源训练代码】 今日,腾讯混元文生图大模型宣布全面开源训练代码,同时对外开源混元 DiTLoRA 小规模数据集训练方案与可控制插件 ControlNet。 https://stock.hexun.com/2024-06-21/213263099.html
11.腾讯文生文模型将开源下一代视频模型时长将超30秒关于混元逐步开源的原因,腾讯混元模型应用负责人张锋告诉第一财经记者,大模型应用很多场景需要私有化,这种情况下只提供API(接口)不太能满足需求。腾讯混元文生图负责人芦清林则告诉记者,若业界不开放大体量的FounDiTion model(DiT基础模型),因数据及资源成本问题,独立研究人员乃至大型实验室都难以做出来,很多优化工作无法https://wap.eastmoney.com/a/202405173080096035.html
12.腾讯元宝上线长文AI精读智东西8月7日消息,腾讯推出的AI原生应用“腾讯元宝”已上线长文精读能力。当用户上传论文、财报、研报等专业内容的URL链接或文件,除获得文字概括总结外,还可进入深度阅读模式,对长文进行精读。该模式可提供核心内容概览及模块化解析,生成总结性图表,辅助用户快速理解https://zhidx.com/news/42269.html
13.文新院与腾讯大苏网展开战略合作,推动应用型新闻传播人才培养模式3月28日,文学与新闻传播学院院长王勇、副院长彭耀春及学院部分教师,赴腾讯江苏总部,与腾讯大苏网总裁艾芳及其高管团队商谈战略合作事宜。双方商谈决定即将开展多种形式的合作,共同推动三江学院应用型新闻传播人才培养模式创新。 总体合作方面,双方将共同成立腾讯企鹅新媒体学院,启动产学研合作模式;共同向教育部申报开设“网https://www.sju.edu.cn/sjxyll/de/00/c4172a56832/page.htm