AudioHTML/ducking.html

689 lines
36 KiB
HTML
Raw Normal View History

2023-11-02 19:09:07 +08:00
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/app.css" rel="stylesheet">
<link href="css/roundslider.min.css" rel="stylesheet">
<script src="js/jquery-3.7.1.js"></script>
<script src="js/roundslider.min.js"></script>
</head>
<body class="h-100 text-center text-bg-dark content-warp">
<div class="d-flex w-100 h-100 mx-auto flex-column">
<header class="mb-auto pb-5">
<div class="dotblock d-flex justify-content-between px-5 py-4">
<div class="fs-3">GEAZAN</div>
<div></div>
</div>
2023-11-15 18:43:40 +08:00
<div class="fw-bold border-black nav-bar" style="position:relative;">
<div class="d-flex nav justify-content-center">
<div class="">
<a href="home.html">HOME</a>
</div>
<div class=""><a href="filter.html">FILTER</a></div>
<div class=""><a href="fs.html">FS</div>
<div class=""><a href="eq.html">EQ</a></div>
<div class="active"><a href="ducking.html">DUCKING</a></div>
<div class=""><a href="network.html">NETWORK</a></div>
<div class="">
<a href="security.html">SECURITY</a>
</div>
<div class=""><a href="control.html">CONTROL</a></div>
<div class="last "><a href="system.html">SYSTEM</a></div>
2023-11-02 19:09:07 +08:00
</div>
2023-11-15 18:43:40 +08:00
<div class="d-flex float-end ps-5 align-items-center" style="position:absolute; right: 10px;top: 3px;">
2023-11-18 19:32:57 +08:00
<button class="btn btn-dark border-black" id="blink">
2023-11-15 18:43:40 +08:00
<svg t="1699500251819" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="4301" xmlns:xlink="http://www.w3.org/1999/xlink"
width="20" height="20">
<path
d="M513.3 239.9c-73.5 0-142.6 28.6-194.6 80.6-52 52-80.6 121.1-80.6 194.6s28.6 142.6 80.6 194.6c52 52 121.1 80.6 194.6 80.6s142.6-28.6 194.6-80.6c52-52 80.6-121.1 80.6-194.6s-28.6-142.6-80.6-194.6c-52-52-121.1-80.6-194.6-80.6z m0 482.3c-114.2 0-207.2-92.9-207.2-207.2S399 307.8 513.3 307.8c114.2 0 207.2 92.9 207.2 207.2s-92.9 207.2-207.2 207.2zM637.9 803.6H388.7c-18.8 0-34 15.2-34 34s15.2 34 34 34h249.2c18.8 0 34-15.2 34-34s-15.2-34-34-34zM588.1 885H438.6c-18.8 0-34 15.2-34 34s15.2 34 34 34h149.5c18.8 0 34-15.2 34-34s-15.2-34-34-34zM513.3 227.5c18.8 0 34-15.2 34-34V97c0-18.8-15.2-34-34-34s-34 15.2-34 34v96.5c0 18.7 15.2 34 34 34zM701.3 276.9c5.9 4.2 12.7 6.2 19.5 6.2 10.7 0 21.3-5.1 27.9-14.5l55.3-79c10.8-15.4 7-36.6-8.3-47.4-15.4-10.8-36.6-7-47.4 8.3l-55.3 79c-10.8 15.4-7.1 36.6 8.3 47.4zM938 357.6c-6.6-17.6-26.2-26.5-43.8-19.9l-90.4 33.8c-17.6 6.6-26.5 26.2-19.9 43.8 5.1 13.7 18.1 22.1 31.9 22.1 4 0 8-0.7 11.9-2.2l90.4-33.8c17.6-6.6 26.5-26.2 19.9-43.8zM283.4 252.5c6.6 9.4 17.2 14.5 27.9 14.5 6.7 0 13.5-2 19.5-6.2 15.4-10.8 19.1-32 8.3-47.4l-55.3-79c-10.8-15.4-32-19.1-47.4-8.3-15.4 10.8-19.1 32-8.3 47.4l55.3 79zM248.1 399.1c6.6-17.6-2.4-37.2-19.9-43.8l-90.4-33.8c-17.6-6.6-37.2 2.4-43.8 19.9-6.6 17.6 2.4 37.2 19.9 43.8l90.4 33.8c3.9 1.5 7.9 2.2 11.9 2.2 13.8 0 26.8-8.4 31.9-22.1z"
fill="#ffffff" p-id="4302" data-spm-anchor-id="a313x.search_index.0.i3.5b953a811enFNb"
class="selected"></path>
</svg>
</button>
2023-11-02 19:09:07 +08:00
</div>
</div>
</header>
<main class="px-3 d-flex justify-content-center">
<div class="content-container">
<div class="d-flex">
<div class="me-3"
style="border-left: 2px solid #000;border-right: 2px solid #000;border-bottom: 2px solid #000;">
<div class="divider">
<div class="divider-text"><span class="fw-bold">Priority</span></div>
</div>
<div class="p-3 d-flex justify-content-center">
<div style="width: 200px;">
<div class="d-flex justify-content-center align-items-center" style="height: 30px;">
<div class="d-flex redio-switche">
2023-11-08 19:15:11 +08:00
<input type="checkbox" class="btn-check" name="mic1" id="mic1">
2023-11-02 19:09:07 +08:00
<label class="btn btn-sm redio-btn on-btn" for="mic1">Mic1</label>
</div>
</div>
<div class="d-flex justify-content-center align-items-center" style="height: 30px;">
<div class="d-flex redio-switche">
2023-11-08 19:15:11 +08:00
<input type="checkbox" class="btn-check" name="mic2" id="mic2">
2023-11-02 19:09:07 +08:00
<label class="btn btn-sm redio-btn on-btn" for="mic2">Mic2</label>
</div>
</div>
</div>
</div>
</div>
<div class="me-3"
style="border-left: 2px solid #000;border-right: 2px solid #000;border-bottom: 2px solid #000;">
<div class="divider">
<div class="divider-text"><span class="fw-bold">Parameters</span></div>
</div>
<div class="p-3 d-flex justify-content-center">
<div class="d-flex">
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
2023-11-08 19:15:11 +08:00
<div class="me-3" id="threshold">
2023-11-02 19:09:07 +08:00
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
Threshold
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
2023-11-08 19:15:11 +08:00
<div class="volume-slider">
2023-11-02 19:09:07 +08:00
<input type="range" orient="vertical" min="0" max="100"
2023-11-08 19:15:11 +08:00
step="0.01">
2023-11-02 19:09:07 +08:00
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
<span>0</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-10</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-20</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-30</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-40</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-50</span>
<section class="mm"></section>
</section>
<section class="cm">
<span>-60</span>
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
2023-11-09 17:25:00 +08:00
<div>
<input class="slider-value text-center" type="number"
style="width: 50px;" />
</div>
<span
style="font-size: 12px; color: #555; padding-left: 6px; padding-top: 5px;">dB</span>
2023-11-02 19:09:07 +08:00
</div>
</div>
2023-11-08 19:15:11 +08:00
2023-11-02 19:09:07 +08:00
</div>
</div>
2023-11-09 17:25:00 +08:00
2023-11-02 19:09:07 +08:00
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
2023-11-09 17:25:00 +08:00
<div class="me-3" id="ducklevel">
2023-11-02 19:09:07 +08:00
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
2023-11-09 17:25:00 +08:00
DuckLevel
2023-11-02 19:09:07 +08:00
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
2023-11-09 17:25:00 +08:00
<div class="volume-slider" data-slider-value="50">
2023-11-02 19:09:07 +08:00
<input type="range" orient="vertical" min="0" max="100"
2023-11-09 17:25:00 +08:00
step="0.1" value="30">
2023-11-02 19:09:07 +08:00
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
2023-11-09 17:25:00 +08:00
<span>0</span>
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-10</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-20</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-09 17:25:00 +08:00
<span>-45</span>
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-40</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-50</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-09 17:25:00 +08:00
<span>-100</span>
2023-11-02 19:09:07 +08:00
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
2023-11-09 17:25:00 +08:00
<div>
<input class="slider-value text-center" type="number"
style="width: 50px;" />
</div>
<span
style="font-size: 12px; color: #555; padding-left: 6px; padding-top: 5px;">dB</span>
2023-11-02 19:09:07 +08:00
</div>
</div>
</div>
</div>
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
2023-11-09 17:25:00 +08:00
<div class="me-3" id="attack">
2023-11-02 19:09:07 +08:00
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
2023-11-09 17:25:00 +08:00
Attack
2023-11-02 19:09:07 +08:00
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
2023-11-09 17:25:00 +08:00
<div class="volume-slider">
2023-11-02 19:09:07 +08:00
<input type="range" orient="vertical" min="0" max="100"
2023-11-09 17:25:00 +08:00
step="0.01">
2023-11-02 19:09:07 +08:00
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
2023-11-09 17:25:00 +08:00
<span>500</span>
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-10</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-20</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-09 17:25:00 +08:00
<span>245</span>
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-40</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-50</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-09 17:25:00 +08:00
<span>10</span>
2023-11-02 19:09:07 +08:00
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
2023-11-09 17:25:00 +08:00
<div>
<input class="slider-value text-center" type="number"
style="width: 50px;" />
</div>
<span
style="font-size: 12px; color: #555; padding-left: 6px; padding-top: 5px;">ms</span>
2023-11-02 19:09:07 +08:00
</div>
</div>
</div>
</div>
<div class="volume-slider-container mx-3">
<div class="d-flex justify-content-center">
2023-11-08 19:15:11 +08:00
<div class="me-3" id="release">
2023-11-02 19:09:07 +08:00
<div class="d-flex justify-content-center align-items-center mb-3"
style="height: 30px;">
Release
</div>
<div class="d-flex justify-content-center">
<div class="volume-slider-box">
<div class="volume-slider" data-slider-value="50">
<input type="range" orient="vertical" min="0" max="100"
step="0.1" value="30">
<div class="range-slider-bar" style="height: calc(45% + 15px);">
</div>
<div class="range-slider-thumb" style="bottom: 45%;"></div>
</div>
</div>
<div>
<section class="volume-ruler">
<section class="cm">
2023-11-08 19:15:11 +08:00
<span>2000</span>
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-10</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-20</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<span>-995</span>
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-40</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<!-- <span>-50</span> -->
2023-11-02 19:09:07 +08:00
<section class="mm"></section>
</section>
<section class="cm">
2023-11-08 19:15:11 +08:00
<span>10</span>
2023-11-02 19:09:07 +08:00
</section>
</section>
</div>
</div>
<div class="slider-value-box input-group justify-content-center mt-3">
2023-11-09 17:25:00 +08:00
<div>
<input class="slider-value text-center" type="number"
style="width: 50px;" />
</div>
<span
style="font-size: 12px; color: #555; padding-left: 6px; padding-top: 5px;">ms</span>
2023-11-02 19:09:07 +08:00
</div>
</div>
</div>
</div>
</div>
2023-11-08 19:15:11 +08:00
</div>
<div class="mb-3">
<div class="d-flex justify-content-center align-items-center" style="height: 30px;">
<div class="d-flex redio-switche">
2023-11-10 11:53:14 +08:00
<input type="radio" class="btn-check" name="switch" id="switch-on" value="enable">
2023-11-08 19:15:11 +08:00
<label class="btn btn-sm redio-btn on-btn" for="switch-on">ON</label>
2023-11-10 11:53:14 +08:00
<input type="radio" class="btn-check" name="switch" id="switch-off" value="disable">
2023-11-08 19:15:11 +08:00
<label class="btn btn-sm redio-btn off-btn" for="switch-off">OFF</label>
</div>
</div>
2023-11-02 19:09:07 +08:00
</div>
</div>
</div>
<div class="row d-flex">
</div>
</div>
</main>
<footer class="mt-auto text-white-50">
<div class="dotblock d-flex justify-content-between px-5 py-4">
<div class="">Geazan</div>
<div>www.geazan.com</div>
</div>
</footer>
</div>
2023-11-10 11:53:14 +08:00
2023-11-19 18:41:22 +08:00
<script>
var data = {}
2023-11-21 01:14:24 +08:00
let thresholdValue = 0
let duckLevelValue = 0
let attackValue = 0
let releaseValue = 0
2023-11-19 18:41:22 +08:00
document.addEventListener("DOMContentLoaded", function () {
//初始化配置
loadData();
})
$(document).ready(function () {
let mic1 = $("#mic1")
let mic2 = $("#mic2")
$("input[name='switch']").on('change', function () {
let $value = $("input[name='switch']:checked").val()
2023-11-22 10:15:36 +08:00
let url = 'http://192.168.0.116/cgi-bin/test.cgi';
2023-11-19 18:41:22 +08:00
let postData = {
2023-11-22 10:15:36 +08:00
action: "ducker_set",
2023-11-23 10:23:31 +08:00
state: $value,
2023-11-19 18:41:22 +08:00
}
$.ajax({
type: 'POST',
url: url,
data: postData,
dataType: "json",
2023-11-23 10:23:31 +08:00
//contentType: "application/json; charset=utf-8",
2023-11-19 18:41:22 +08:00
success: function (res) {
2023-11-22 10:15:36 +08:00
console.log('返回数据', typeof (res), res)
2023-11-19 18:41:22 +08:00
if (res.success) {
data = res.content
}
else {
alert(res.message)
}
},
error: function (res) {
}
})
})
mic1.on('change', function () {
var isChecked = mic1.prop('checked');
// alert(isChecked)
micChange(mic1.prop('checked'), mic2.prop('checked'))
})
2023-11-10 11:53:14 +08:00
2023-11-19 18:41:22 +08:00
mic2.on('change', function () {
var isChecked = mic2.prop('checked');
// alert(isChecked)
micChange(mic1.prop('checked'), mic2.prop('checked'))
})
2023-11-10 11:53:14 +08:00
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
})
2023-11-08 19:15:11 +08:00
2023-11-15 18:43:40 +08:00
2023-11-19 18:41:22 +08:00
function micChange(mic1, mic2) {
2023-11-22 10:15:36 +08:00
let url = 'http://192.168.0.116/cgi-bin/test.cgi';
2023-11-15 18:43:40 +08:00
let postData = {
2023-11-23 10:23:31 +08:00
action: "ducker_set",
2023-11-19 18:41:22 +08:00
mic1: mic1 ? "open" : "close",
mic2: mic2 ? "open" : "close",
2023-11-15 18:43:40 +08:00
}
$.ajax({
type: 'POST',
url: url,
data: postData,
dataType: "json",
2023-11-23 10:23:31 +08:00
//contentType: "application/json; charset=utf-8",
2023-11-15 18:43:40 +08:00
success: function (res) {
2023-11-22 10:15:36 +08:00
console.log('返回数据', typeof (res), res)
2023-11-15 18:43:40 +08:00
if (res.success) {
data = res.content
}
else {
alert(res.message)
}
},
error: function (res) {
}
})
2023-11-19 18:41:22 +08:00
}
2023-11-15 18:43:40 +08:00
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
function loadData() {
2023-11-21 16:45:07 +08:00
let url = 'http://192.168.0.116/cgi-bin/test.cgi?action=ducker_get';
2023-11-19 18:41:22 +08:00
$.ajax({
type: "GET",
url: url,
success: function (res) {
data = res.content
2023-11-21 01:14:24 +08:00
thresholdValue = data.parameters.threshold
attackValue = data.parameters.attack
duckLevelValue = data.parameters.ducklevel
releaseValue = data.parameters.release
2023-11-19 18:41:22 +08:00
bindData()
},
error: function () {
data = {
parameters: {
threshold: -30,
attack: 200,
ducklevel: -3,
2023-11-23 10:23:31 +08:00
release: 1000,
2023-11-19 18:41:22 +08:00
state: "enable"
},
mic1: "close",
mic2: "open"
}
2023-11-21 01:14:24 +08:00
thresholdValue = data.parameters.threshold
attackValue = data.parameters.attack
duckLevelValue = data.parameters.ducklevel
releaseValue = data.parameters.release
2023-11-19 18:41:22 +08:00
bindData()
}
})
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
}
function bindData() {
$("input[name='switch']").val([`${data.parameters.state}`])
$("#mic1").prop("checked", data.mic1 == 'open')
$("#mic2").prop("checked", data.mic2 == 'open')
attackSlider(data.parameters.attack);
thresholdSlider(data.parameters.threshold);
ducklevelSlider(data.parameters.ducklevel);
releaseSlider(data.parameters.release);
2023-11-22 10:15:36 +08:00
2023-11-19 18:41:22 +08:00
}
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
function attackSlider(number) {
let element = $('#attack')
let input = $("#attack .volume-slider input")
input.attr('value', (parseInt(number) - 10) / (490 / 100))
2023-11-21 01:14:24 +08:00
updateAttackSlider(element, false);
2023-11-08 19:15:11 +08:00
2023-11-15 18:43:40 +08:00
2023-11-19 18:41:22 +08:00
input.on('input', function () {
2023-11-21 01:14:24 +08:00
updateAttackSlider(element, true);
2023-11-19 18:41:22 +08:00
})
input.on('change', function () {
2023-11-21 01:14:24 +08:00
updateAttackSlider(element, false);
2023-11-19 18:41:22 +08:00
})
2023-11-15 18:43:40 +08:00
}
2023-11-21 01:14:24 +08:00
function updateAttackSlider(element, isInput) {
2023-11-10 11:53:14 +08:00
2023-11-19 18:41:22 +08:00
let box = element.children().find(".volume-slider")
let input = element.children().find(".volume-slider input")
let $thumb = element.children().find(".range-slider-thumb")
let $bar = element.children().find(".range-slider-bar")
let $value = element.children().find(".slider-value")
pct = input.val() * ((box[0].clientHeight - $thumb[0].clientHeight) / box[0].clientHeight);
2023-11-10 11:53:14 +08:00
2023-11-19 18:41:22 +08:00
$thumb.attr('style', `bottom:${pct}%`)
2023-11-02 19:09:07 +08:00
2023-11-19 18:41:22 +08:00
let barHeight = `calc(${pct}% + ${$thumb[0].clientHeight / 2}px)`;
$bar.attr('style', `height:${barHeight}`)
let number = ((input.val() * (490 / 100)) + 10).toFixed(1)
$value.val(`${number}`);
//调用接口提交数据
2023-11-23 11:42:37 +08:00
if (number == -0) {
number = 0
}
2023-11-21 01:14:24 +08:00
if (number != attackValue && isInput == false) {
changeInputValue('attack', number)
}
2023-11-19 18:41:22 +08:00
}
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
function thresholdSlider(number) {
let element = $('#threshold')
let input = $("#threshold .volume-slider input")
input.attr('value', (parseInt(number) + 60) / (60 / 100))
2023-11-21 01:14:24 +08:00
updateThresholdSlider(element, false);
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
input.on('input', function () {
2023-11-21 01:14:24 +08:00
updateThresholdSlider(element, true);
2023-11-19 18:41:22 +08:00
})
input.on('change', function () {
2023-11-21 01:14:24 +08:00
updateThresholdSlider(element, false);
2023-11-19 18:41:22 +08:00
})
}
2023-11-08 19:15:11 +08:00
2023-11-21 01:14:24 +08:00
function updateThresholdSlider(element, isInput) {
2023-11-19 18:41:22 +08:00
let box = element.children().find(".volume-slider")
let input = element.children().find(".volume-slider input")
let $thumb = element.children().find(".range-slider-thumb")
let $bar = element.children().find(".range-slider-bar")
let $value = element.children().find(".slider-value")
pct = input.val() * ((box[0].clientHeight - $thumb[0].clientHeight) / box[0].clientHeight);
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
$thumb.attr('style', `bottom:${pct}%`)
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
let barHeight = `calc(${pct}% + ${$thumb[0].clientHeight / 2}px)`;
$bar.attr('style', `height:${barHeight}`)
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
let number = ((input.val() * (60 / 100)) - 60).toFixed(1)
$value.val(`${number}`);
//调用接口提交数据
2023-11-23 11:42:37 +08:00
if (number == -0) {
number = 0
}
2023-11-21 01:14:24 +08:00
if (number != thresholdValue && isInput == false) {
changeInputValue('threshold', number)
}
2023-11-19 18:41:22 +08:00
}
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
function ducklevelSlider(number) {
let element = $('#ducklevel')
let input = $("#ducklevel .volume-slider input")
input.attr('value', (parseInt(number) + 100) / (100 / 100))
2023-11-21 01:14:24 +08:00
updateDucklevelSlider(element, false);
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
input.on('input', function () {
2023-11-21 01:14:24 +08:00
updateDucklevelSlider(element, true);
2023-11-19 18:41:22 +08:00
})
input.on('change', function () {
2023-11-21 01:14:24 +08:00
updateDucklevelSlider(element, false);
2023-11-19 18:41:22 +08:00
})
}
2023-11-08 19:15:11 +08:00
2023-11-21 01:14:24 +08:00
function updateDucklevelSlider(element, isInput) {
2023-11-19 18:41:22 +08:00
let box = element.children().find(".volume-slider")
let input = element.children().find(".volume-slider input")
let $thumb = element.children().find(".range-slider-thumb")
let $bar = element.children().find(".range-slider-bar")
let $value = element.children().find(".slider-value")
pct = input.val() * ((box[0].clientHeight - $thumb[0].clientHeight) / box[0].clientHeight);
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
$thumb.attr('style', `bottom:${pct}%`)
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
let barHeight = `calc(${pct}% + ${$thumb[0].clientHeight / 2}px)`;
$bar.attr('style', `height:${barHeight}`)
2023-11-15 18:43:40 +08:00
2023-11-19 18:41:22 +08:00
let number = ((input.val() * (100 / 100)) - 100).toFixed(1)
$value.val(`${number}`);
//调用接口提交数据
2023-11-23 11:42:37 +08:00
if (number == -0) {
number = 0
}
2023-11-21 01:14:24 +08:00
if (number != duckLevelValue && isInput == false) {
changeInputValue('ducklevel', number)
}
2023-11-19 18:41:22 +08:00
}
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
function releaseSlider(number) {
2023-11-22 10:15:36 +08:00
console.log(number, releaseValue)
2023-11-19 18:41:22 +08:00
let element = $('#release')
let input = $("#release .volume-slider input")
2023-11-21 01:14:24 +08:00
input.attr('value', (parseInt(number) - 10) / (1990 / 100))
updateReleaseSlider(element, false);
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
input.on('input', function () {
2023-11-21 01:14:24 +08:00
updateReleaseSlider(element, true);
2023-11-19 18:41:22 +08:00
})
input.on('change', function () {
2023-11-21 01:14:24 +08:00
updateReleaseSlider(element, false);
2023-11-19 18:41:22 +08:00
})
2023-11-15 18:43:40 +08:00
}
2023-11-19 18:41:22 +08:00
2023-11-21 01:14:24 +08:00
function updateReleaseSlider(element, isInput) {
2023-11-19 18:41:22 +08:00
let box = element.children().find(".volume-slider")
let input = element.children().find(".volume-slider input")
let $thumb = element.children().find(".range-slider-thumb")
let $bar = element.children().find(".range-slider-bar")
let $value = element.children().find(".slider-value")
pct = input.val() * ((box[0].clientHeight - $thumb[0].clientHeight) / box[0].clientHeight);
$thumb.attr('style', `bottom:${pct}%`)
let barHeight = `calc(${pct}% + ${$thumb[0].clientHeight / 2}px)`;
$bar.attr('style', `height:${barHeight}`)
2023-11-21 01:14:24 +08:00
let number = ((input.val() * (1990 / 100)) + 10).toFixed(1)
2023-11-19 18:41:22 +08:00
$value.val(`${number}`);
//调用接口提交数据
2023-11-22 10:15:36 +08:00
console.log(number, releaseValue)
2023-11-21 01:14:24 +08:00
if (number != releaseValue && isInput == false) {
changeInputValue('release', number)
}
2023-11-19 18:41:22 +08:00
}
function changeInputValue(module, number) {
2023-11-22 10:15:36 +08:00
let url = "http://192.168.0.116/cgi-bin/test.cgi"
2023-11-19 18:41:22 +08:00
let postData = {
2023-11-22 10:15:36 +08:00
action: 'ducker_set',
2023-11-19 18:41:22 +08:00
subaction: module,
audio: number,
type: module
2023-11-15 18:43:40 +08:00
}
2023-11-19 18:41:22 +08:00
$.ajax({
type: 'POST',
url: url,
data: postData,
dataType: "json",
2023-11-23 10:23:31 +08:00
//contentType: "application/json; charset=utf-8",
2023-11-19 18:41:22 +08:00
success: function (res) {
if (res.success) {
data = res.content
2023-11-21 01:14:24 +08:00
thresholdValue = data.parameters.threshold
attackValue = data.parameters.attack
duckLevelValue = data.parameters.ducklevel
releaseValue = data.parameters.release
2023-11-19 18:41:22 +08:00
bindData()
}
else {
alert(res.message)
}
},
error: function (res) {
}
})
}
2023-11-08 19:15:11 +08:00
2023-11-19 18:41:22 +08:00
</script>
<script src="js/main.js"></script>
</body>
2023-11-02 19:09:07 +08:00
</html>