0

有什么方法可以让我们获得任何音乐文件的专辑封面,我可以提取文件详细信息,如专辑名称、长度、作者、流派、曲目信息。但我很乐意展示专辑封面图片。请帮忙

4

1 回答 1

2

显然,此页面上的某个人设法编写了一些代码来将图像的数据提取为 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 的,尽管您可以将其调整为其他格式。

于 2012-07-30T11:12:33.203 回答