打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

用户:卡介菌:修订间差异

585次编辑加入
第14行: 第14行:
{{Html5Media|url=https://gh-proxy.com/raw.githubusercontent.com/Rizline-Chinese-Wiki/rizline-song-preview/main/%E3%80%90Utau%E7%BF%BB%E5%94%B1%E2%A7%B8%E5%8E%9F%E5%88%9BPV%E3%80%91%E3%83%A1%E3%83%AB%E3%83%86%E3%82%A3%E3%83%A9%E3%83%B3%E3%83%89%E3%83%8A%E3%82%A4%E3%83%88%E3%83%A1%E3%82%A2%E3%80%901%C3%9740%E3%80%91%20[BV1uKTyzkEr4_p1].mp4}}
{{Html5Media|url=https://gh-proxy.com/raw.githubusercontent.com/Rizline-Chinese-Wiki/rizline-song-preview/main/%E3%80%90Utau%E7%BF%BB%E5%94%B1%E2%A7%B8%E5%8E%9F%E5%88%9BPV%E3%80%91%E3%83%A1%E3%83%AB%E3%83%86%E3%82%A3%E3%83%A9%E3%83%B3%E3%83%89%E3%83%8A%E3%82%A4%E3%83%88%E3%83%A1%E3%82%A2%E3%80%901%C3%9740%E3%80%91%20[BV1uKTyzkEr4_p1].mp4}}
{{Html5Media|url=https://pan.rizwiki.cn/d/%E9%AB%98%E9%80%9F/%E6%B5%8B%E8%AF%95%E6%96%87%E4%BB%B6%E5%A4%B9/%E3%80%90Utau%E7%BF%BB%E5%94%B1%E2%A7%B8%E5%8E%9F%E5%88%9BPV%E3%80%91%E3%83%A1%E3%83%AB%E3%83%86%E3%82%A3%E3%83%A9%E3%83%B3%E3%83%89%E3%83%8A%E3%82%A4%E3%83%88%E3%83%A1%E3%82%A2%E3%80%901%C3%9740%E3%80%91%20%5BBV1uKTyzkEr4_p1%5D.mp4?sign=V90_EzJjzDo8mAUhOXsII4fJYyy-R1V2fpHdXK8nr2s=:0}}
{{Html5Media|url=https://pan.rizwiki.cn/d/%E9%AB%98%E9%80%9F/%E6%B5%8B%E8%AF%95%E6%96%87%E4%BB%B6%E5%A4%B9/%E3%80%90Utau%E7%BF%BB%E5%94%B1%E2%A7%B8%E5%8E%9F%E5%88%9BPV%E3%80%91%E3%83%A1%E3%83%AB%E3%83%86%E3%82%A3%E3%83%A9%E3%83%B3%E3%83%89%E3%83%8A%E3%82%A4%E3%83%88%E3%83%A1%E3%82%A2%E3%80%901%C3%9740%E3%80%91%20%5BBV1uKTyzkEr4_p1%5D.mp4?sign=V90_EzJjzDo8mAUhOXsII4fJYyy-R1V2fpHdXK8nr2s=:0}}
<html>
<head>
    <meta charset="UTF-8">
    <style>
        body {
            margin: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
        }
        table {
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5);
            border: 1px solid #444;
            max-width: 960px;
            background-color: #2c2d30;
        }
        td {
            transition: background-color 0.4s ease;
            padding: 0;
        }
        #difficulty {
            font-size: 1.5em;
            font-weight: bold;
            padding: 15px 0;
            letter-spacing: 2px;
            user-select: none;
            transition: background-color 0.4s ease, transform 0.1s ease;
            color: #111;
        }
        #difficulty:hover {
            opacity: 0.9;
        }
        #difficulty:active {
            transform: scale(0.98);
        }
        #ratio {
            font-size: 1.2em;
            font-weight: 600;
            display: flex;
            justify-content: center;
            align-items: center;
            user-select: none;
            transition: background-color 0.3s ease, transform 0.1s ease;
            color: #111;
        }
        #ratio:hover {
            background-color: #556677 !important;
        }
        #ratio:active {
            transform: scale(0.95);
        }
        #output {
            background-color: #000;
            line-height: 0;
        }
        video.html5media-video {
            width: 100%;
            height: 100%;
            object-fit: contain;
            display: block;
        }
    </style>
</head>
<body>
<table width="100%" style="border:none; border-collapse:collapse;">
  <tr>
    <td colspan="2" style="text-align:center; background-color:#57E4C4;">
      <div id="difficulty" onclick="cycleDifficulty(this)" data-states='["EZ 1", "HD 6", "IN 11"]' data-current="0" style="cursor:pointer;">EZ 2</div>
    </td>
  </tr>
  <tr style="height:300px">
    <td width="15%" onclick="cycleRatio(document.getElementById('ratio'))" style="text-align:center; background-color:#ABCDEF; cursor:pointer;">
      <div id="ratio" data-states='["16:9", "4:3"]' data-current="0" style="height:100%; cursor:pointer;">16:9</div>
    </td>
    <td style="height:100%; position:relative">
      <span id="output" style="display:block; height:300px; overflow:hidden;"></span>
    </td>
  </tr>
</table>
<script>
  const songName = "Pastel Lines"
  const difficultyColors = {
    "EZ": "#57E4C4",
    "HD": "#FDBA61",
    "IN": "#FE8661",
    "AT": "#4C364B"
  };
  function cycleDifficulty(element) {
    const states = JSON.parse(element.getAttribute('data-states'))
    const current = parseInt(element.getAttribute('data-current'))
    const next = (current + 1) % states.length
    element.textContent = states[next]
    element.setAttribute('data-current', next.toString())
    const difficultyType = states[next].split(' ')[0]
    const color = difficultyColors[difficultyType] || '#FFFFFF'
    element.style.backgroundColor = color
    element.parentElement.style.backgroundColor = color
    updateOutput()
  }
  function cycleRatio(element) {
    const states = JSON.parse(element.getAttribute('data-states'))
    const current = parseInt(element.getAttribute('data-current'))
    const next = (current + 1) % states.length
    element.textContent = states[next]
    element.setAttribute('data-current', next.toString())
    updateOutput()
  }
  function updateOutput() {
    const difficultyDiv = document.getElementById('difficulty')
    const ratioDiv = document.getElementById('ratio')
    const difficulty = difficultyDiv.textContent.split(' ')[0]
    const ratio = ratioDiv.textContent.replace(':', '-')
    const videoUrl = `https://raw.githubusercontent.com/Rizline-Chinese-Wiki/rizline-song-preview/main/${ratio}_${songName}_${difficulty}.mp4`
    document.getElementById('output').innerHTML = `
      <video class="html5media-video" src="${videoUrl}" controls preload="metadata" loading="lazy" style="height:100%; object-fit:contain;"></video>
    `
  }
  document.addEventListener('DOMContentLoaded', function () {
      const diffDiv = document.getElementById('difficulty')
      const firstDiff = JSON.parse(diffDiv.getAttribute('data-states'))[0];
      const diffType = firstDiff.split(' ')[0]
     
      diffDiv.textContent = firstDiff
      diffDiv.style.backgroundColor = difficultyColors[diffType]
      diffDiv.parentElement.style.backgroundColor = difficultyColors[diffType]
     
      updateOutput();
  });
</script>
</body>
</html>


{{BMV
{{BMV

2025年7月9日 (三) 14:54的版本

艾拉单推鸽(*¯ㅿ¯*;)

/* ===== 2025.4.13 ===== */ 某人因不会修bug而下架了ta心爱的可视化编辑 R.I.P

/* ===== 2025.4.13 过了几分钟... ===== */ 草报错了.. 算了,晚安 zzz


以下是测试-------

这是啥


您可以点击下方的难度与比例以改变预览视频对应的谱面难度与视频比例。

16:9

测试123