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 对象。