minidlna 解析音频文件的tag信息,
在win7 mediaplayer中看到解析出来文件信息为乱码
原因在于: 中文的编码方式为GB232,
_get_mp3tags 获取tag信息时需要通过iconv进行编码方式转换为UTF-8
注意:
minidlna中需要enable HAVE_ICONV_H
通过调用库libiconv来进行转换
库libiconv不在minidlna目录下的时候:
在lib目录下(libiconv-1.14/lib)
1)通过ar crv text.a text.o命令编译生成静态链接库*.a文件
../../../toolchain/rsdk-1.5.5-5281-EB-2.6.30-0.9.30.3-110714/bin/rsdk-linux-ar crv libiconv.a *.o
2)将.a 和.la文件拷到minidlna对应目录下(通过查看makefile的lib目录确定)
cp libiconv.a ../../minidlna/tmp/lib/
cp libiconv.la ../../minidlna/tmp/lib/
3)在Makefile LIBS =。。。中加入
LIBS =-lsqlite3 -lpthread -lavformat -lavcodec -lavutil -liconv -lid3tag -ldl -lm -lz
FYI:
[1]Linux .a文件.o文件.la文件.lo文件和.so文件
http://kmoving.blog.163.com/blog/static/205049197201259102538782/
[2] gcc命令生成静态链接库的方法
1、用gcc的-c选项生成.o文件,如
gcc -c test1.c test2.c test3.c
编译后会生成test1.o test2.o test3.o三个目标文件。
2、然后用ar命令生成.a文件,如
ar crv test.a test1.o test2.o test3.o