js+css 实现midi文件在线可视化编辑试听调整保存代码
代码语言:html
所属分类:多媒体
代码描述:js+css 实现midi文件在线可视化编辑试听调整保存代码
代码标签: js css midi 文件 在线 可视化 编辑 试听 调整 保存 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MIDI 微调试听可视化编辑器</title>
<!-- Tailwind CSS 界面样式 -->
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<!-- Tone.js:音频合成与调度 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script>
<!-- @tonejs/midi:解析上传的 MIDI -->
<script src="https://unpkg.com/@tonejs/midi"></script>
<!-- MidiWriterJS:生成/打包并导出 MIDI -->
<script src="https://cdn.jsdelivr.net/npm/midi-writer-js@2.1.4/build/index.js"></script>
<style>
/* 自定义滚动条样式 */
.custom-scrollbar::-webkit-scrollbar {
width: 8px;
height: 8px;
}
.custom-scrollbar::-webkit-scrollbar-track {
background: #1e293b;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
background: #475569;
border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
background: #64748b;
}
</style>
</head>
<body class="bg-gray-900 text-gray-100 min-h-screen flex flex-col font-sans select-none">
<!-- 顶部工具栏 -->
<header class="bg-gray-900 border-b border-gray-800 px-6 py-3 flex flex-wrap items-center justify-between gap-4">
<div class="flex items-center space-x-3">
<span class="text-xl font-bold bg-gradient-to-r from-indigo-400 to-purple-400 bg-clip-text text-transparent">MIDI Piano Roll Editor</span>
<span class="text-xs text-gray-500 border border-gray-700 px-2 py-0.5 rounded">微调与试听版</span>
</div>
<!-- 控制按钮组 -->
<div class="flex items-center space-x-4">
<!-- 播放/停止 -->
<button id="btn-play" onclick="togglePlay()" class="px-4 py-1.5 bg-green-600 hover:bg-green-500 rounded text-sm font-medium transition flex items-center space-x-1">
<span>▶ 播放</span>
</button>
<button id="btn-stop" onclick="stopPlayback()" class="px-4 py-1.5 bg-gray-700 hover:bg-gray-600 rounded text-sm font-medium transition">
■ 停止
</button>
<!-- 速度调节 -->
<div class="flex items-center space-x-2 bg-gray-800 px-3 py-1.5 rounded border border-gray-700">
<span class="text-xs text-gray-400">BPM</span>
<input id="input-bpm" type="number" value="120" min="40" max=&qu.........完整代码请登录后点击上方下载按钮下载查看















网友评论0