[c++] Taglib의 압축 파일 처리 기능

Taglib은 C++로 작성된 라이브러리로, 오디오 파일의 메타데이터를 읽고 쓰는 기능을 제공합니다. Taglib은 압축 파일 형식 (예: MP3, FLAC, OGG 등)의 메타데이터도 처리할 수 있어서 매우 유용합니다.

이 블로그에서는 Taglib을 사용하여 압축 파일의 메타데이터를 읽고 쓰는 방법에 대해 살펴보겠습니다.

압축 파일 열기

우선, Taglib을 사용하여 압축 파일을 열어야 합니다. 예를 들어, MP3 파일을 열어보겠습니다.

#include <taglib/fileref.h>

TagLib::FileRef file("example.mp3");
if (!file.isNull() && file.tag()) {
  // 파일이 성공적으로 열렸고, 메타데이터가 있음
  TagLib::Tag *tag = file.tag();
  std::string title = tag->title().to8Bit(true);
  std::string artist = tag->artist().to8Bit(true);
  // ...
}

위 코드는 “example.mp3” 파일을 열고, 해당 파일의 메타데이터를 가져오는 예제입니다.

압축 파일에 메타데이터 쓰기

이어서, Taglib을 사용하여 압축 파일에 메타데이터를 쓰는 방법을 알아보겠습니다.

#include <taglib/mpegfile.h>

TagLib::MPEG::File file("example.mp3");
if (file.isValid() && file.ID3v2Tag()) {
  TagLib::ID3v2::Tag *tag = file.ID3v2Tag(true);
  tag->setTitle("New Title");
  tag->setArtist("New Artist");
  // ...
  file.save();
}

위 코드는 “example.mp3” 파일에 새로운 타이틀과 아티스트 정보를 쓰고, 변경된 메타데이터를 저장하는 예제입니다.

Taglib을 사용하면 MP3, FLAC, OGG 등의 압축 파일에서 메타데이터를 읽고 쓸 수 있어서 오디오 파일 처리에 매우 유용합니다.

이상으로 Taglib의 압축 파일 처리 기능에 대해 알아보았습니다.

참고자료: Taglib 공식 문서