You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Drive音乐文件连续播放问题及Apps Script实现方案咨询

解决Google Drive音乐自动续播问题的两种方案

一、无需代码的原生解决方案(推荐)

  • 先给文件夹内的音频文件按播放顺序重命名,比如添加01_、02_、03_这类前缀,确保Drive按正确顺序排序
  • 选中文件夹内所有音频文件,右键选择「创建播放列表」
  • 生成的播放列表可以直接分享给教室,打开后就能自动续播所有曲目,支持循环、随机播放等基础功能

二、用Google Apps Script实现自定义连续播放器

如果需要更灵活的播放控制或自定义界面,可以用以下脚本实现:

步骤:

  1. 打开目标音乐文件夹,复制浏览器URL中folders/后面的字符串(即文件夹ID)
  2. 打开Google Apps Script,新建一个空白项目
  3. 替换默认的Code.gs代码为以下内容:
function createContinuousPlayer() {
  // 替换为你的音乐文件夹ID
  const folderId = "YOUR_FOLDER_ID";
  const folder = DriveApp.getFolderById(folderId);
  const audioFiles = folder.getFilesByType(MimeType.AUDIO);
  
  // 按文件名排序(可根据需求修改排序逻辑,比如按修改时间)
  const sortedTracks = [];
  while (audioFiles.hasNext()) {
    sortedTracks.push(audioFiles.next());
  }
  sortedTracks.sort((a, b) => a.getName().localeCompare(b.getName()));
  
  // 生成带自动续播功能的HTML页面
  let playerHtml = `
  <!DOCTYPE html>
  <html>
  <head>
    <title>教室音乐播放器</title>
    <style>
      body { font-family: sans-serif; max-width: 900px; margin: 30px auto; }
      #main-player { width: 100%; margin-bottom: 20px; }
      .track-item { padding: 10px; border-bottom: 1px solid #ddd; cursor: pointer; }
      .track-item:hover { background-color: #f5f5f5; }
    </style>
  </head>
  <body>
    <h2>教室连续音乐播放器</h2>
    <audio id="main-player" controls autoplay></audio>
    <h3>曲目列表</h3>
    <div id="track-list">
  `;
  
  // 插入所有曲目到列表
  sortedTracks.forEach((track, index) => {
    playerHtml += `<div class="track-item" data-url="${track.getUrl()}">${index+1}. ${track.getName()}</div>`;
  });
  
  playerHtml += `
    </div>
    <script>
      const player = document.getElementById('main-player');
      const trackElements = document.querySelectorAll('.track-item');
      const trackUrls = Array.from(trackElements).map(el => el.dataset.url);
      let currentIndex = 0;
      
      // 设置初始播放曲目
      player.src = trackUrls[currentIndex];
      
      // 自动播放下一曲
      player.addEventListener('ended', () => {
        currentIndex = (currentIndex + 1) % trackUrls.length;
        player.src = trackUrls[currentIndex];
        player.play();
      });
      
      // 点击曲目列表切换播放
      trackElements.forEach((el, index) => {
        el.addEventListener('click', () => {
          currentIndex = index;
          player.src = trackUrls[index];
          player.play();
        });
      });
    </script>
  </body>
  </html>
  `;
  
  return HtmlService.createHtmlOutput(playerHtml)
    .setWidth(900)
    .setHeight(600);
}
  1. 将代码中的YOUR_FOLDER_ID替换为你之前复制的文件夹ID
  2. 点击编辑器顶部的「运行」按钮,完成权限授权(首次运行需要允许脚本访问Drive文件)
  3. 点击「部署」>「新部署」,选择「Web应用」:
    • 执行方式选择「我」
    • 谁可以访问选择「任何人,甚至匿名」(根据你的权限需求调整)
    • 点击「部署」,复制生成的Web应用URL,分享给各个教室即可

注意事项:

  • 确保所有音频文件的共享权限设置为「任何人可查看」,否则播放器无法加载曲目
  • 脚本默认按文件名排序,若需要按其他规则排序(比如文件创建时间),可修改sortedTracks.sort()中的逻辑
  • Web应用部署后,若文件夹内新增曲目,需要重新部署一次脚本才能更新曲目列表

内容的提问来源于stack exchange,提问作者TinaT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:32:51