音乐文件属性一般保存在音乐文件中,有的放在文件头,有的放在文件尾,必须读出该文件相关字节中的内容才可以获取音乐文件信息。有个开源的项目,可以解析 MP3文件中的文件信息。但是它同样也是耗时的操作。系统会调用MediaScanner去扫描Internal和External Volume。原来,在开机时,系统会在后台扫描内存和外存设备,将多媒体数据更新到数据库中。同时也会扫描文件信息,这样,我们不费吹灰之力就解决了问题。
好,看看下面的代码,应该就很清楚了,是根据给的一个音频文件的路径来获取的:
首先定一个保存音频文件信息的类Song:
package com.android.music;
/**
* Song
*
* this is the message set for song
*
* @author wenliang Created :2011.06.22
*/
public class Song {
/**
* fileName
*/
private String mFileName = "";
/**
* song name
*/
private String mFileTitle = "";
/**
* play total time
*/
private int mDuration = 0;
/**
* singer
*/
private String mSinger = "";
/**
* album name
*/
private String mAlbum = "";
/**
* mYear
*/
private String mYear = "";
/**
* mFileType
*/
private String mFileType = "";
/**
* mFileSize
*/
private String mFileSize = "";
/**
* mFilePath
*/
private String mFilePath = "";
/**
* getmFileName()
*
* @return
*/
public String getmFileName() {
return mFileName;
}
/**
* setmFileName()
*
* @param mFileName
*/
public void setmFileName(String mFileName) {
this.mFileName = mFileName;