鸿蒙OS 媒体扫描服务操作开发指导

2020-09-18 14:44 更新

场景介绍

媒体扫描服务从新创建或下载的媒体文件中读取元数据,并将文件添加到媒体数据库中。

接口说明

接口名 描述
performLoggerFile(String path, String mimeType) 请求通过文件的路径和类型扫描一个媒体文件。
performLoggerFile(Context context, String[] paths, String[] mimeTypes, AVLogCompletedListener callback) 一次扫描多个媒体文件。
connect() 连接到扫描服务。
disconnect() 从扫描服务断开连接。
isConnected() 检查扫描服务是否已连接。

开发步骤

媒体扫描服务分为动态调用和静态调用,以扫描文件为例:

动态调用

  1. 初始化 AVLoggerConnection,并注册回调函数。

  1. public class ZSacnnerTest implements AVLoggerScannerConnectionClient {
  2. private AVLoggerConnection zScanConn;
  3. public ZSacnnerInterTest(Context context) {
  4. // 实例化
  5. zScanConn = new AVLoggerConnection(context, this);
  6. }
  7. // ...
  8. }

  1. 连接媒体扫描服务。

  1. zScanConn.onConnect(); // 连接扫描服务

  1. 在onLoggerConnected回调函数中执行扫描。

  1. @Override
  2. public void onLoggerConnected() {
  3. zScanConn.performLoggerFile(filePaths[i], mimeTypes[i]); // 服务回调执行扫描
  4. }

  1. 在 onLogCompleted 回调函数中通知扫描结果。

  1. @Override
  2. public void onLogCompleted(String path, String uri) {
  3. // 回调函数返回URI的值
  4. zScanConn.disConnect(); // 断开扫描服务
  5. }

静态调用

  1. AVLoggerConnection 静态方法 performLoggerFile, 扫描结果在 onLogCompleted 中通知。

  1. AVLoggerConnection.performLoggerFile(this, filePaths, null, new AVScanCompletedListener(){
  2. @Override
  3. public void onLogCompleted(String path, String uri) {
  4. }
  5. });
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号