wavesurfer实现可配置参数的音频声音可视化波浪线代码
代码语言:html
所属分类:其他
代码描述:wavesurfer实现可配置参数的音频声音可视化波浪线代码,可调节参数做自己的特色音频线。
代码标签: wavesurfer 配置 参数 音频 声音 可视化 波浪线 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
@layer reset, base, challenge;
@layer challenge {
.wrapper {
width: min(100%, 80ch);
margin-inline: auto;
display: grid;
gap: 1.5em;
}
[id=placeholder] {
inline-size: 100%;
block-size: 100%;
object-fit: cover;
}
.toast:popover-open {
padding: 1.5em;
border-radius: var(--br-default);
width: min(100%, 60ch);
margin: auto;
&::backdrop {
background-color: oklch(0 0 0 / 0.6);
}
& [btn-close] {
position: absolute;
right: 0.5em;
top: 0.5em;
transition: color var(--default-trans-dur);
&:is(:hover, :focus-visible) {
color: var(--clr-accent-secondary);
}
}
& h2 {
color: var(--clr-accent-secondary);
text-align: center;
text-transform: uppercase;
}
& > p {
margin-block-start: 0.8em;
& a {
text-decoration: underline;
text-decoration-width: 1px;
text-underline-offset: 1px;
transition: color var(--default-trans-dur);
}
& a:is(:hover, :focus-visible) {
color: var(--clr-accent-secondary);
}
}
/*
& ::-webkit-file-upload-button {
transition: color var(--default-trans-dur);
border: none;
box-shadow: 0 0 0 1px;
border-radius: inherit;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
margin-inline-end: 0.5em;
}
& ::-webkit-file-upload-button:active {
color: var(--clr-accent-secondary);
} */
}
.btn-container {
display: flex;
gap: 0.5em;
justify-content: center;
}
:is(.btn-primary) {
color: var(--clr-accent-secondary);
border: 1px solid;
border-radius: var(--br-default);
display: grid;
grid-auto-flow: column;
gap: 0.25em;
padding: 0.5em;
& span {
text-transform: capitalize;
}
& svg {
pointer-events: none;
}
}
.form-wave_options {
display: grid;
gap: 1em;
grid-template-areas:
"waveColor progressColor cursorColor"
"url url url"
"cursorWidth cursorWidth cursorWidth"
"barWidth barWidth barWidth"
"barHeight barHeight barHeight"
"barGap barGap barGap"
"barRadius barRadius barRadius"
"height height height"
"audioRate audioRate audioRate"
"sampleRate sampleRate sampleRate"
;
& > label {
display: grid;
gap: 0.5em;
}
}
label:has(> input[type="range"]) {
--_c: var(--clr-accent-secondary); /* active range/thumb color */
--_bg: var(--clr-neutral-200); /* slider track color */
--track-height: 10px;
--thumb-size: 1em;
--thumb-offset: -3px;
--thumb-highlight-size: 2px;
& input[type="range"] {
appearance: none;
-webkit-appearance: none;
width: 100%;
height: var(--track-height);
background: linear-gradient(
to right,
var(--_c) 0
calc(
(
var(--value, 0) - var(--min, 0)
) / (
var(--max, 100) - var(--min, 0)
) * 100%
),
var(--_bg) 0
);
border-radius: 100vw;
border: 0;
}
& input[type="range"]::-webkit-slider-runnable-track {
appearance: none;
-webkit-appearance: none;
}
& input[type="range"]::-webkit-slider-thumb {
appearance: none;
width: var(--thumb-size);
aspect-ratio: 1;
background-color: var(--_c);
border-radius: 50%;
box-shadow: 0 0 0 var(--thumb-highlight-size) var(--_bg);
margin-inline-start: var(--thumb-offset);
position: relative;
}
}
input[type="text&qu.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0