项目 在 C++ 技能树

制作短暂休息的播放列表

编写可复用的 C++ 曲目选择和 M3U8 导出函数,在时间预算内选择完整录音,并播放、下载真实的播放列表。

项目C++

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

制作短暂休息的播放列表 是一门面向已有语言基础的学习者的 C++ 项目课程。你将从原创合成音频库中选出适合短暂休息的完整曲目,生成播放列表,并播放、下载真实成果。

课程包含 1 个引导实验和 1 个独立挑战。你先从两首曲目的样例开始,逐步完成可复用的选择和导出函数;再把相同规则应用到另一组曲目,其中两份录音标题相同,身份却不同。每个实验都会独立准备所需文件。

你将学到什么

完成本课程后,你将能够:

  • 将录音表示为 vector 中的对象,按偏好及稳定的曲目 ID 排序;
  • 按剩余时间选择完整曲目,包含恰好放得下的曲目,并在跳过过长曲目后继续选择;
  • 写出 UTF-8 M3U8 播放列表,准确对应时长、标题和音频相对路径;
  • 播放、定位并下载保存的成果,同时保留原始录音;
  • 区分合法的空选择和无效输入,并从普通路径或编译错误中恢复。

本课程适合谁

本课程适合希望把标准容器和文件输出用于真实作品的 C++ 学习者。

前置要求: 掌握基本终端导航,熟悉 C++ 字符串、类、vector、文件流和异常。引导实验会讲解本项目用到的 const 引用、比较函数和相对路径。

学习环境: LabEx 提供浏览器中的预配置 Linux 环境,包含编译器、源码框架、音频库以及 Terminal 和 Player。播放器标签和程序输出保留英文。

常见问题

我需要安装工具或寻找音乐吗?

不需要。编译器、原创合成录音和浏览器播放器均已准备好。

我需要编写整个应用吗?

你将实现曲目选择和播放列表导出函数。曲目表解析和播放器由课程提供。程序遵循明确的偏好顺序,不求解曲目的最优装填组合。

播放列表包含音频吗?

不包含。M3U8 文件引用录音。分享时,应按课程教授的目录关系,将音频文件夹保留在播放列表旁边。本课程选择完整录音,不裁剪音频。

教师

labby
Labby
Labby is the LabEx teacher.