T - 音频文件数据将被转换到的实体类型。public class AudioScanner<T>
extends java.lang.Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
AudioScanner.AudioItem
默认的音频实体类。
|
static class |
AudioScanner.AudioItemConverter
默认的转换器,用于将扫描到的音频数据转换成
AudioScanner.AudioItem 对象。 |
static interface |
AudioScanner.Converter<T>
转换器,用于将扫描到的音频文件数据转换成一个实体对象。
|
static interface |
AudioScanner.OnProgressUpdateListener<T>
用于接收扫描结果和监听扫描进度。
|
| 构造器和说明 |
|---|
AudioScanner(android.content.Context context,
AudioScanner.Converter<T> converter)
创建一个
AudioScanner 对象。 |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
cancel()
取消扫描。
|
static java.lang.String |
getAlbum(android.database.Cursor cursor)
获取音频文件所属的专辑。
|
static int |
getAlbumId(android.database.Cursor cursor)
获取音频文件所属的专辑的 ID。
|
static java.lang.String |
getArtist(android.database.Cursor cursor)
获取音频文件的艺术家。
|
static int |
getArtistId(android.database.Cursor cursor)
获取音频文件的艺术家的 ID。
|
static int |
getDateAdded(android.database.Cursor cursor)
获取首次添加音频文件的时间。
|
static int |
getDateModified(android.database.Cursor cursor)
获取音频文件的最后一次修改日期。
|
static java.lang.String |
getDisplayName(android.database.Cursor cursor)
获取音频文件的显示名称。
|
static int |
getDuration(android.database.Cursor cursor)
音频文件的持续时间。
|
static int |
getId(android.database.Cursor cursor)
获取音频文件在 Android 系统本地媒体库中的 ID 值。
|
static java.lang.String |
getMimeType(android.database.Cursor cursor)
获取音频文件的 MIME 类型。
|
static int |
getSize(android.database.Cursor cursor)
获取音频文件的大小。
|
static java.lang.String |
getTitle(android.database.Cursor cursor)
获取音频文件的标题。
|
static int |
getTrack(android.database.Cursor cursor)
获取专辑中这首歌的曲目号,如果有的话。
|
static android.net.Uri |
getUri(android.database.Cursor cursor)
获取音频文件的播放链接。
|
static int |
getYear(android.database.Cursor cursor)
获取音频文件录制的年份,如果有的话。
|
static boolean |
isAlarm(android.database.Cursor cursor)
音频文件是否是闹钟铃声文件。
|
static boolean |
isAudioBook(android.database.Cursor cursor)
音频文件是否是有声读物。
|
static boolean |
isNotification(android.database.Cursor cursor)
音频文件是否是通知铃声。
|
static boolean |
isPodcast(android.database.Cursor cursor)
音频文件是否是 podcast。
|
static boolean |
isRingtone(android.database.Cursor cursor)
音频文件是否是铃声文件。
|
boolean |
isScanning()
扫描器当前是否正在运行。
|
void |
scan(AudioScanner.OnProgressUpdateListener<T> listener)
开始扫描本地音频文件。
|
void |
setQueryParams(java.lang.String[] projection,
java.lang.String selection,
java.lang.String[] selectionArgs,
java.lang.String sortOrder)
设置查询参数。
|
public AudioScanner(@NonNull
android.content.Context context,
@NonNull
AudioScanner.Converter<T> converter)
AudioScanner 对象。context - Context 对象,不能为 nullconverter - 转换器,不能为 null。用于将扫描到的音频数据转换为一个实体对象。public void setQueryParams(java.lang.String[] projection,
java.lang.String selection,
java.lang.String[] selectionArgs,
java.lang.String sortOrder)
关于参数的具体功能,请参考 ContentResolver#query() 方法。
public void scan(@NonNull
AudioScanner.OnProgressUpdateListener<T> listener)
注意!如果当前扫描器运行,调用此方法时将被忽略,除非上次扫描过程已完成或者已被取消。可以使用
isScanning() 方法检查扫描器当前是否正在运行。
listener - 用于接收扫描结果和监听扫描进度,不能为 null。isScanning()public boolean isScanning()
public void cancel()
public static int getDateAdded(android.database.Cursor cursor)
cursor - Cursor 对象。public static int getDateModified(android.database.Cursor cursor)
cursor - Cursor 对象。public static java.lang.String getDisplayName(android.database.Cursor cursor)
例如,路径为 /storage/0000-0000/Audio/audio1024.mp3 的音频文件的显示名为 audio1024.mp3。
cursor - Cursor 对象。public static java.lang.String getMimeType(android.database.Cursor cursor)
cursor - Cursor 对象。public static int getSize(android.database.Cursor cursor)
此值是系统的媒体扫描器通过 File#length() 方法获取的。
cursor - Cursor 对象。public static int getDuration(android.database.Cursor cursor)
cursor - Cursor 对象。public static java.lang.String getTitle(android.database.Cursor cursor)
cursor - Cursor 对象。public static int getId(android.database.Cursor cursor)
cursor - Cursor 对象。public static java.lang.String getArtist(android.database.Cursor cursor)
cursor - Cursor 对象。public static int getArtistId(android.database.Cursor cursor)
cursor - Cursor 对象。public static java.lang.String getAlbum(android.database.Cursor cursor)
cursor - Cursor 对象。public static int getAlbumId(android.database.Cursor cursor)
cursor - Cursor 对象。public static boolean isAlarm(android.database.Cursor cursor)
cursor - Cursor 对象。public static boolean isAudioBook(android.database.Cursor cursor)
cursor - Cursor 对象。public static boolean isNotification(android.database.Cursor cursor)
cursor - Cursor 对象。public static boolean isPodcast(android.database.Cursor cursor)
cursor - Cursor 对象。public static boolean isRingtone(android.database.Cursor cursor)
cursor - Cursor 对象。public static int getTrack(android.database.Cursor cursor)
cursor - Cursor 对象。public static int getYear(android.database.Cursor cursor)
cursor - Cursor 对象。public static android.net.Uri getUri(android.database.Cursor cursor)
cursor - Cursor 对象。