« [iPod touch]Dock Connector一体型iPod touch用マイク頒布 | Main | [iPod touch]iPod touch用Dock Connector一体型マイク頒布1号機完成 »

2007.12.15

[iPod touch]iPod touch開発メモ: libid3tagのコンパイルとテスト

noviさんのところでlibid3tagiPod touch向けビルドに失敗するという話が出ていたので、自分のところでも試してみることに。

母艦では、libid3tagでファイル埋め込み歌詞の読み出しができているとのこと。
Lyrics3にピンときてなかったようなので、SYLTというFrameの方でしょうかね? よく分かりません。詳しいことはnoviさんが知っています。

こちらでは、すんなりビルドに成功。

自分の開発環境は、iMac G5+Leopardにiphone-devにある手順でインストールしたもの。
dylib1.10.5.oが無いと言われることがあるので、以下のシンボリックリンクを張ってます。

cd /usr/local/arm-apple-darwin/
ln -s dylib1.o dylib1.10.5.o

テストコードを書いてみました。
歌詞の読み出しはよく分かってませんが、以下のコードでiPod touch上でもUTF8で曲名が読み出せてます。



#include <stdio.h>
#include <id3tag.h>

int main(void) {
struct id3_file* file;
struct id3_tag* tag;
struct id3_frame* frame;
union id3_field* field;
const id3_ucs4_t* title;
id3_utf8_t* title_utf8;

file = id3_file_open("/var/root/Media/test.mp3",
ID3_FILE_MODE_READONLY);
tag = id3_file_tag(file);
frame = id3_tag_findframe(tag, ID3_FRAME_TITLE, 0);
field = id3_frame_field(frame, 1);
title = id3_field_getstrings(field, 0);
title_utf8 = id3_ucs4_utf8duplicate(title);
printf("Title: %s\n", title_utf8);
return 0;
}

共有ライブラリの方でなくlibid3tag.aを使い、スタティックリンクしてコンパイル。
zlibも必要。

arm-apple-darwin-gcc id3.c libid3tag.a -lz -o id3

コンパイルしたlibid3tag-0.15.1bを置いておきます。

ダウンロード libid3tag-0.15.1b-1_arm-apple-darwin.zip (79.3K)

|

« [iPod touch]Dock Connector一体型iPod touch用マイク頒布 | Main | [iPod touch]iPod touch用Dock Connector一体型マイク頒布1号機完成 »