[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 공식 문서