我们有什么方法可以获得任何音乐文件的专辑封面,我能够提取文件详细信息,如专辑名称,长度,作者,流派,曲目信息。 但我非常喜欢展示专辑艺术形象。 请帮忙
答案 0 :(得分:2)
显然this page上的某个人设法编写了一些代码来提取图像的数据作为ByteArray,然后最终通过Loader对象加载它。以下是他们提出的代码:
var binaryData:ByteArray;
var file:URLLoader = new URLLoader(new URLRequest("test.mp3"));
var finalData:ByteArray = new ByteArray;
var byteCon:Loader = new Loader;
var offset:int; var rLength:int;
var found:Boolean = false;
var end:Boolean = false;
file.dataFormat = URLLoaderDataFormat.BINARY;
file.addEventListener(Event.COMPLETE, handleComplete);
function handleComplete(e:Event):void{
binaryData = file.data as ByteArray;
binaryData.position = 0;
//get offset and length
while(!found){
var pos:int = binaryData.readUnsignedInt();
if(pos == 0x41504943){
offset = binaryData.position + 20;
}
if(pos == 0){
if (!found){
rLength = binaryData.position - 1 - offset;
if(rLength > 5000){
found = true;
}
}
}
binaryData.position = binaryData.position - 3;
}
finalData.writeBytes(binaryData, offset, rLength);
finalData.position = 0;
byteCon.loadBytes(finalData);
addChild(byteCon);
}
当然,这是专门讨论MP3,尽管你可以将其改编为其他格式。