接口说明
接口名 |
描述 |
---|---|
performLoggerFile(String path, String mimeType) |
请求通过文件的路径和类型扫描一个媒体文件。 |
performLoggerFile(Context context, String[] paths, String[] mimeTypes, AVLogCompletedListener callback) |
一次扫描多个媒体文件。 |
connect() |
连接到扫描服务。 |
disconnect() |
从扫描服务断开连接。 |
isConnected() |
检查扫描服务是否已连接。 |
开发步骤
媒体扫描服务分为动态调用和静态调用,以扫描文件为例:
动态调用
初始化AVLoggerConnection,并注册回调函数。
public class ScannerDemo implements AVLoggerConnectionClient {
private AVLoggerConnection scanConn;
public ScannerDemo(Context context) {
// 实例化
scanConn = new AVLoggerConnection(context, this);
}
@Override
public void onLoggerConnected() {
String path = “/path/”;
String mimeType = “video/mp4”;
scanConn.performLoggerFile(path, mimeType); // 服务回调执行扫描,指定要扫描的路径和文件类型
}
@Override
public void onLogCompleted(String path, Uri uri) {
// 回调函数返回扫描到的URI和path的值
scanConn.disconnect(); // 断开扫描服务
}
// …
}
连接媒体扫描服务。
ScannerDemo zScanConn = new ScannerDemo(context);
zScanConn.connect(); // 连接扫描服务
在onLoggerConnected回调函数中执行扫描,开发者通过自定义文件的路径和类型扫描指定媒体文件。
@Override
public void onLoggerConnected() {
scanConn.performLoggerFile(filePaths[i], mimeTypes[i]); // 服务回调执行扫描,指定要扫描的路径和文件类型
}
在onLogCompleted回调函数中通知扫描结果。
@Override
public void onLogCompleted(String path, Uri uri) {
// 回调函数返回扫描到的URI和path的值
scanConn.disconnect(); // 断开扫描服务
}
静态调用
- AVLoggerConnection静态方法performLoggerFile, 扫描结果在onLogCompleted中通知。
AVLoggerConnection.performLoggerFile(this, filePaths, null, new AVLogCompletedListener(){
@Override
public void onLogCompleted(String path, Uri uri) {
}
});