短い休憩用のプレイリストを作る は、言語の基礎を学んだ方向けの C++ 実践プロジェクトです。オリジナルの合成音源を集めたライブラリから、短い休憩に収まるプレイリストを作り、実際の成果物を再生してダウンロードします。
コースは 1 個のガイド付きラボと 1 個の独立したチャレンジで構成されています。まず 2 曲の例から始め、再利用できる選択関数とエクスポート関数を作ります。次に、タイトルが同じでも別の録音である 2 曲を含む、新しいコレクションへ同じルールを適用します。各ラボには必要なファイルが個別に用意されています。
学習内容
このコースを修了すると、次のことができるようになります。
- 録音を
vector内のオブジェクトとして表し、優先度、次に安定した曲 ID の順で並べ替える。 - 残り時間に収まる曲を丸ごと選び、ちょうど収まる曲を含め、長すぎる曲を飛ばした後も選択を続ける。
- 曲の長さ、タイトル、音声の相対パスが対応する UTF-8 の M3U8 プレイリストを書く。
- 元の録音を保持しながら、保存した成果物を再生し、再生位置を移動し、ダウンロードする。
- 正常な空の選択と無効な入力を区別し、通常のパスやコンパイルのエラーから復旧する。
このコースの対象者
標準コンテナとファイル出力を使って、実際に利用できる成果物を作りたい C++ 学習者を対象としています。
前提知識: 基本的なターミナル操作と、C++ の文字列、クラス、vector、ファイルストリーム、例外についての知識が必要です。ガイド付きラボでは、このプロジェクトで使う const 参照、比較関数、相対パスを説明します。
学習環境: LabEx がブラウザ内に構成済みの Linux 環境を提供します。コンパイラ、コードのひな形、音源、Terminal、Player が用意されています。プレイヤーのラベルとプログラムの出力は英語です。
よくある質問
ツールのインストールや音楽の準備は必要ですか?
必要ありません。コンパイラ、オリジナルの合成音源、ブラウザプレイヤーは準備済みです。
アプリケーション全体を書くのですか?
選択関数とプレイリストのエクスポート関数を実装します。カタログの解析とプレイヤーは提供されます。プログラムは決められた優先順に従い、曲の最適な組み合わせを探索するものではありません。
プレイリストに音声データは含まれますか?
含まれません。M3U8 ファイルは録音を参照します。共有するときは、学んだディレクトリ関係を保ち、音声フォルダをプレイリストの隣に置いてください。このコースは録音全体を選択し、音声を切り詰めません。


