提取倒是可以啊 批量的话似乎。。。。。。
你打开itunes后 在你想要的歌曲点右键 找到显示简介 打开对话框后 右边有个插图 再点开就可以复制出来了
批量的话我也没找到办法 不好意思啦 希望说的可以帮到你
iTunes很难从网上获取专辑封面,记得从前我300多首歌,只有一首有专辑封面。
推荐使用青苹果播放器,能够自动批量添加歌词与专辑封面。在官网的帮助里有详细的介绍,我就不多赘述。只介绍一下自己在使用过程中的一些心得体会。
1智能整理后,最好在青苹果里播放一下每首歌曲,直到能够显示歌词(大概1、2秒)
2最好在先将歌曲同步到iTunes中,再从青苹果上同步,会自动修改信息。最好选中一下每首歌曲,会看到有歌手或专辑名等变化
3为了正常显示歌词,建议转换为AAC格式。右击歌曲->创建AAC版本,可以批量转换,再通过显示重复项目将原歌曲删除即可。
最近发现从google上下的音乐,添加到iTunes上后,已经带有歌词和专辑封面,只要直接转换成AAC格式,同步到iPod上即可。
该为使用如下代码解析得到:
参考源码中,音乐目录:
packages/apps/Music/src/com/android/music/MusicUtilsjava中函数:getArtwork(context, song_id, album_id, true)
public static Bitmap getArtwork(Context context, long song_id, long album_id,
boolean allowdefault) {
if (album_id < 0) {
// This is something that is not in the database, so get the album art directly
// from the file
if (song_id >= 0) {
Bitmap bm = getArtworkFromFile(context, song_id, -1);
if (bm != null) {
return bm;
}
}
if (allowdefault) {
return getDefaultArtwork(context);
}
return null;
}
ContentResolver res = contextgetContentResolver();
Uri uri = ContentUriswithAppendedId(sArtworkUri, album_id);
if (uri != null) {
InputStream in = null;
try {
in = resopenInputStream(uri);
return BitmapFactorydecodeStream(in, null, sBitmapOptions);
} catch (FileNotFoundException ex) {
// The album art thumbnail does not actually exist Maybe the user deleted it, or
// maybe it never existed to begin with
Bitmap bm = getArtworkFromFile(context, song_id, album_id);
if (bm != null) {
if (bmgetConfig() == null) {
bm = bmcopy(BitmapConfigRGB_565, false);
if (bm == null && allowdefault) {
return getDefaultArtwork(context);
}
}
} else if (allowdefault) {
bm = getDefaultArtwork(context);
}
return bm;
} finally {
try {
if (in != null) {
inclose();
}
} catch (IOException ex) {
}
}
}
return null;
}
private static Bitmap getArtworkFromFile(Context context, long songid, long albumid) {
Bitmap bm = null;
byte [] art = null;
String path = null;
if (albumid < 0 && songid < 0) {
throw new IllegalArgumentException("Must specify an album or a song id");
}
try {
if (albumid < 0) {
Uri uri = Uriparse("content://media/external/audio/media/" + songid + "/albumart");
ParcelFileDescriptor pfd = contextgetContentResolver()openFileDescriptor(uri, "r");
if (pfd != null) {
FileDescriptor fd = pfdgetFileDescriptor();
bm = BitmapFactorydecodeFileDescriptor(fd);
}
} else {
Uri uri = ContentUriswithAppendedId(sArtworkUri, albumid);
ParcelFileDescriptor pfd = contextgetContentResolver()openFileDescriptor(uri, "r");
if (pfd != null) {
FileDescriptor fd = pfdgetFileDescriptor();
bm = BitmapFactorydecodeFileDescriptor(fd);
}
}
} catch (FileNotFoundException ex) {
}
if (bm != null) {
mCachedBit = bm;
}
return bm;
}
private static Bitmap getDefaultArtwork(Context context) {
BitmapFactoryOptions opts = new BitmapFactoryOptions();
optsinPreferredConfig = BitmapConfigRGB_565;
return BitmapFactorydecodeStream(
contextgetResources()openRawResource(Rdrawableplay_img_default), null, opts);
}
private static final Uri sArtworkUri = Uriparse("content://media/external/audio/albumart");
private static final BitmapFactoryOptions sBitmapOptions = new BitmapFactoryOptions();
private static Bitmap mCachedBit = null;
获取cursor:
myCur = getContentResolver()query(
MediaStoreAudioMediaEXTERNAL_CONTENT_URI,
new String[] { MediaStoreAudioMediaTITLE,
MediaStoreAudioMediaDURATION,
MediaStoreAudioMediaARTIST,
MediaStoreAudioMedia_ID,
MediaStoreAudioMediaALBUM,
MediaStoreAudioMediaDISPLAY_NAME,
MediaStoreAudioMediaDATA,
MediaStoreAudioMediaALBUM_ID}, null,null, null);
myCurmoveToPosition(position);
设置专辑封面:
long songid = myCurgetLong(3);
long albumid = myCurgetLong(7);
Bitmap bm = MusicUtilsgetArtwork(this, songid, albumid,true);
if(bm != null){
Logd(TAG,"bm is not null==========================");
playImgsetImageBitmap(bm);
}else{
Logd(TAG,"bm is null============================");
}
以上就是关于如何提取iTunes的专辑封面有没有个工具全部的内容,包括:如何提取iTunes的专辑封面有没有个工具、关于Ipod touch用itunes添加专辑封面的问题。、android 怎样获取歌曲的专辑封面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)