codecamp

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

场景介绍

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

接口说明

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

开发步骤

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

动态调用

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

   public class ZSacnnerTest implements AVLoggerScannerConnectionClient {
       private AVLoggerConnection zScanConn;
       public ZSacnnerInterTest(Context context) {
           // 实例化  
           zScanConn = new AVLoggerConnection(context, this);    
       }
       // ...
   }

  1. 连接媒体扫描服务。

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

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

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

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

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

静态调用

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

   AVLoggerConnection.performLoggerFile(this, filePaths, null, new AVScanCompletedListener(){
       @Override    
       public void onLogCompleted(String path, String uri) {

    
       }
   });
鸿蒙OS 媒体存储数据操作开发指导
鸿蒙OS 视频与图像缩略图获取开发指导
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }