首页 > 编程知识 正文

html5拖动插件(html5可拖动)

时间:2023-05-04 17:40:36 阅读:90664 作者:4590

1个来源:

=======

359 github.com/cbrandolino /本地-音频-可视化器2调整:

=======

2.1删除源代码,注释。

比2.2更简洁,更易于操作,更能理解核心代码。

3文件结构:

========

3.1图

3.2文字分析:一个文件夹是xx。 有一个index.html、css文件夹(style.css文件)和js文件夹) local_audio_visualizer.js文件。

3.3索引. html代码:

! 文档类型html

meta charset='utf-8 '

html

头部

标题本地_音频_可视化器/标题

脚本类型='文本/JavaScript ' SRC=' JS /本地_音频_可视化器. JS ' /脚本

链接列='样式表' href=' CSS/style.CSS ' /

/head

主体

div标识='容器'

! - -拖动音乐文件时表示搏动的音乐bar--

div id='容器'

“canvas width”=800高度=300 id=“canvas”/“canvas”

“canvas width”=800高度=300 id=“canvas -复制”/“canvas”

/div

! - -在中间显示文字-

div标识=' instructions '

h2

! -br是换行的意思-

draganaudiofiletoplayitlocallybr /

拖动音乐文件进行本地br /

可视化itbr /

然后可视化ta

/h2

/div

/div

/body

/html3.4 style.css代码:

# #指导{

显示:块;

位置:绝对;

width :百分之百;

文本对齐:中心;

top: 50%;

margin-top: -100px帕克斯;

字型系列: '奇数三星';

/*中文字的颜色、loading*/

颜色: # FFF; }

# #容器{

显示:块;

位置:绝对;

top: 0;

left: 0;

width :百分之百;

height: 100%;

背景:径向-梯度(

ellipse farthest-corner,

//网页的背景颜色/

#7d7d7d 0%,

#0e0e0e 100%

); }

# # canvas -容器{

width: 800px;

height: 600px;

margin :自动;

位置:相对关系;

top: 50%;

margin -顶级:-300 px; }

# # canvas -复制

opacity: 0.05;

- WebKit-transform : scaley (-1;

margin-top: -6px型号; {1}3. 5本地_音频_可视化器. js代码:

(函数() ) {

varrequestanimationframe=window.requestanimationframe|| window.mozrequestanimationframe||

window.webkitrequestanimationframe|| window.msrequestanimationframe;

window.requestanimationframe=requestanimationframe;

() )

window.onload=function (

var element=文档. getelementbyid ('容器' ) ) ) ) )。

dropandload (元素、初始化、'阵列缓冲区' ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

}

函数辅助加载(拖放元素、回调、读取格式) {

varreadformat=读格式||'数据文件'

drop element.addevent监听器('拖动器',函数(e ) {

e .停止传播(

e .预设值(

e .数据传输效果='复制'

(,假) )

drop element.addevent监听器(' drop ',函数(e ) {

e .停止传播(

e .预设值(

loadfile (e .数据传输.文件[0] )。

(,假) )

功能加载文件(文件)

虚拟文件=文件

var reader=新文件夹()

reader.onload=函数(e ) {

回调(e.target.result )。

}

读取器读取格式

}

}

函数单元(阵列缓冲器) {

document.getelementbyid (' instructions ' ).innerHTML='Loading . '

window.audio CTX=newaudiocontext (

window.analyser=音频CTX .创建分析程序(

if (窗口.源)

source .注释关闭(0) )。

audio CTX .解码器缓冲区(阵列缓冲区,功能缓冲区) {

window.source=audio CTX.createbuffersource (

source.buffer=缓冲器

source.connect (分析程序) )。

analyser.connect (音频CTX .目的地) ) ) )。

source.start(0) )。

var viz=新简单viz (

新可视化程序(viz [ '更新' ],分析器)。

文档. getelementbyid (' instructions ' ).innerHTML=' ' )。

() )

}

功能可视化器(可视化,分析器) {

var自f=this

this .可视化=可视化

var last=Date.now (

var loop=函数

vardt=date.now(-last

varbytefreq=新单元8阵列(analyser.frequencybincount ) )。

analyser.getbytefrequencydata (字节频率) )。

last=Date.now (

self .可视化(字节频率,字节频率) ) ) ) ) ) ) ) ) ) )。

请求标准框架(环路)

}

请求标准框架(环路)

}

功能组合(canvas ) {

var自f=this

this.canvas=文档. getelementbyid (' canvas ' ) ) )。

this.CTX=this.canvas.get上下文('2d ' ) ) )。

this.copy CTX=文档. getelementbyid (文化副本.获取上下文) ) 2d ) )

//搏动音乐bar的颜色设定、关键点

//this.ctx.fillStyle='#fff' //白

this.ctx.fillStyle='#00FF00' //绿色lime

this.barWidth=10

this.barGap=4

this.bars=math.floor (this.canvas.width/) this.barwidththis.bargap ) )

this .更新=函数(字节频率)。

self.CTX.clear rect (0,0,self.canvas.width,self.canvas.height ) ) )。

var step=math.floor (字节频率/长度/自基准) )。

for (气量=0; I自助银行; I ) {2}

//draw搜索栏

var bar height=字节频率

使用self.ctx.fillRect (

I * (自助银行自助银行)、

self.canvas.height - barHeight表示,

自助式窗口,

barHeight ) )

self.copy CTX.clear rect (0,0,self.canvas.width,self.canvas.height ) ) ) ) )。

self.copy CTX.drawimage (self.canvas,0,0 ) ) ) ) )。) ) ) ) ) ) ) ) ) )。

}

}

}3.5效果图:拖动音乐文件mp3如下

=====完美,整理后共享========

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。