一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多媒体文件扫描方法、装置及电子设备与流程

2022-11-16 16:43:55 来源:中国专利 TAG:


1.本公开涉及多媒体技术领域,具体地,涉及一种多媒体文件扫描方法、装置及电子设备。


背景技术:

2.多媒体扫描指的是当有磁盘挂载时,系统启动扫描服务扫描媒体文件,并记录到数据库中的过程。
3.目前,国内外汽车在挂载包含数据量较多的音视频的u盘时,挂载扫描的时间较长,例如:数据量达到上千个时,其挂载扫描的时间在几分钟左右。用户在播放视频或歌曲前长时间的等待,造成了不好的用户体验。目前还没有能有效提升用户体验的媒体扫描的方案。


技术实现要素:

4.本公开的目的是提供一种多媒体文件扫描方法、装置及电子设备,用于解决现有技术中存在的汽车在挂载包含数据量较多的音视频的u盘时,挂载扫描的时间较长,降低用户体验的技术问题。
5.为了实现上述目的,本公开第一方面提供一种多媒体文件扫描方法,包括:
6.在收到挂载广播时,启动扫描服务,获取扫描路径;
7.启动扫描线程池,根据所述扫描路径,将从挂载的存储装置中扫描到的文件插入解析任务队列;
8.启动解析线程池,从所述解析任务队列中获取并解析文件,得到解析后的数据。
9.可选的,所述解析线程池的解析子线程的最大并发数量为n个,n为大于或等于2的整数。
10.可选的,所述方法还包括:
11.当所述解析后的数据的数量达到预先设置的阈值时,将所述解析后的数据插入对应的数据库;
12.向媒体应用发送数据变化回调,使得所述媒体应用收到所述数据变化回调后,分段获取所述解析后的数据,并显示所述解析后的数据。
13.可选的,所述方法还包括:
14.在扫描服务结束后,向所述媒体应用发送结束扫描的广播,使得所述媒体应用监听到所述结束扫描的广播后,会再次从所述数据库中获取解析后的数据。
15.可选的,在对所述文件进行解析时,选择所述文件中部分种类的文件附加数据进行解析。
16.可选的,所述部分种类的文件附加数据包括媒体应用的显示界面上需要显示的文件附加数据。
17.可选的,所述方法还包括:
18.获取用户打开的媒体应用类型;
19.所述扫描服务根据所述用户打开的媒体应用类型,优先解析所述用户打开的媒体应用类型对应的媒体文件。
20.本公开第二方面提供一种多媒体文件扫描装置,包括:
21.扫描服务模块,被配置为在收到挂载广播时,启动扫描服务,获取扫描路径;
22.扫描线程池模块,被配置为启动扫描线程池,根据所述扫描路径,将从挂载的存储装置中扫描到的文件插入解析任务队列;
23.解析线程池模块,被配置为启动解析线程池,从所述解析任务队列中获取并解析文件,得到解析后的数据。
24.本公开第三方面提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
25.本公开第四方面提供一种电子设备,包括:
26.存储器,其上存储有计算机程序;
27.处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面所述方法的步骤。
28.本公开实施例的方案中,通过多线程处理扫描任务,即通过启动扫描线程池和解析线程池来处理扫描任务的方案,提升解析性能。本公开中的方案采用了生产者和消费者的设计思路,扫描线程池根据所述扫描路径,将从挂载的存储装置中扫描到的文件插入解析任务队列,解析线程池从解析任务队列中不断获取解析任务并解析文件,得到解析后的数据,从而解决现有技术中存在汽车在挂载包含数据量较多的音视频的u盘时,挂载扫描的时间较长,降低用户体验的技术问题,实现提升解析性能,缩短挂载扫描的时间的技术效果,进而提升用户体验。
29.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
30.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
31.图1是根据一示例性实施例示出的系统组成的示意图;
32.图2是根据一示例性实施例示出的多媒体文件扫描方法的流程示意图;
33.图3是根据一示例性实施例示出的多媒体文件扫描方法的另一流程示意图;
34.图4是根据一示例性实施例示出的多媒体文件扫描装置的框图;
35.图5是根据一示例性实施例示出的一种电子设备500的框图。
具体实施方式
36.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
37.本说明书中,首先对系统组成进行说明。
38.如图1所示,图1是根据一示例性实施例示出的系统组成的示意图,该系统包括媒体扫描广播接收器mediascannerreceiver、媒体扫描服务mediascannerservice、媒体扫描
mediascanner、多媒体内容提供者mediaprovider四个部分。
39.各组成部分的主要功能如下:
40.mediascannerreceiver主要为接收磁盘挂载、卸载广播,收到挂载广播时,启动mediascannerservice,开始进行磁盘扫描。
41.mediascannerservice为媒体扫描服务,提供线程处理扫描事件,管理扫描任务生命周期。
42.mediascanner负责磁盘扫描工作,解析磁盘路径下所有的媒体文件,插入数据库。扫描线程池工具类scanpoolutil和解析线程池工具类scanpoolutil类用于协助mediascanner提供解析性能。
43.scanpoolutil为扫描线程池工具类,提供扫描线程扫描磁盘下所有路径。
44.parsepoolutil为解析线程池工具类,提供解析线程池解析所有媒体文件信息。
45.mediaprovider为多媒体内容提供者,继承自内容提供者contentprovider,主要负责操作数据库,并提供给别的程序增删改查等操作。
46.接下来,对本公开实施例中的多媒体文件扫描方法进行说明。
47.如图2所示,图2是根据一示例性实施例示出的多媒体文件扫描方法的流程示意图。该方法包括以下步骤。
48.步骤201,在收到挂载广播时,启动扫描服务,获取扫描路径。其中,挂载可以为磁盘、u盘等存储装置,扫描路径即磁盘路径。
49.步骤202,启动扫描线程池,根据所述扫描路径,将从挂载的存储装置中扫描到的文件插入解析任务队列。
50.步骤203,启动解析线程池,从所述解析任务队列中获取并解析文件,得到解析后的数据。
51.本公开中的方案采用了生产者和消费者的设计思路,扫描线程池根据所述扫描路径,将从挂载的存储装置中扫描到的文件插入解析任务队列,解析线程池从解析任务队列中不断获取解析任务并解析文件,得到解析后的数据,避免了从扫描开始到结束只采用一个线程,导致解析媒体文件的速度变慢,从而解决现有技术中存在汽车在挂载包含数据量较多的音视频的u盘时,挂载扫描的时间较长,降低用户体验的技术问题,实现了提升解析性能,缩短挂载扫描的时间的技术效果,进而提升用户体验。
52.本公开实施例中,扫描服务mediascannerservice启动后,会启动子线程处理任务,收到扫描任务,会将磁盘路径交给mediascanner,由mediascanner处理扫描任务。
53.然后,进行存储装置中的文件夹扫描。mediascanner收到扫描任务后,会将扫描路径交给scanpoolutil。scanpoolutil会启动线程池,线程池可以采用单线程方案。在扫描线程中,会依次将扫描到的文件路径交给parsepoolutil处理。
54.本公开实施例中,scanpoolutil将扫描到的文件封装为解析任务,插入解析任务队列,并启动解析任务。parsepoolutil会循环将任务交给解析线程池处理。解析线程池设计方案为最大同时处理解析任务的线程(即解析子线程的最大并发数量)数量为n个。
55.本公开实施例中,n的取值为大于或等于2的整数。增加解析子线程最大并发数量,是为了提升解析性能。举例来讲,n的取值可以为2,从而同时考虑到处理器cpu的占用率和解析性能。如果在cpu硬件支持下,增加解析子线程最大并发数量可进一步提升解析性能。
56.本公开实施例中,scanpoolutil会将数据交给媒体数据解析器mediametadataretriever解析,并只去解析专辑名album、歌唱者artist、专辑作者albumartist、作曲者composer、歌曲名title、歌曲时长duration、图宽width、图高height等有用数据,并将解析后的数据插入集合。本公开实施例中,用户实际获取音视频的信息和mediascanner解析的信息有差异,mediascanner解析的部分信息对于车机应用来说没有实际需要,可以不用解析,只解析有用的数据,如车机上的媒体应用的显示界面上需要显示的文件附加数据id3。通过减少解析文件附加数据的种类来提升解析数据性能。
57.本公开实施例中,为了缩短用户等待时间,还可以与媒体应用配合,扫描服务根据用户打开的媒体应用类型,区分为视频、音乐、图片等,优先解析用户打开的媒体应用类型对应的媒体文件。举例来讲,用户打开的媒体应用类型为音乐播放器,则优先解析音频文件。
58.本公开实施例中,还可以在媒体文件扫描过程中,插入数据库并回调更新。通过预先设置媒体文件的数量,当解析的文件数量达到预先设置的媒体文件的数量时,将解析数据插入对应的数据库。插入完毕后,发送数据变化回调给媒体应用。媒体应用收到数据变化回调后,可以去分段获取数据并显示,使得用户可以在媒体扫描结束前,提前获取部分媒体文件并显示播放。
59.举例来讲,mediametadataretriever解析后,将解析后的数据插入集合,假设预先设置的媒体文件的数量为100,则当集合中的媒体文件数量达到100时,将解析数据集合通过handler回给mediascanner对象所在线程,并将解析数据插入数据库。
60.本公开实施例中,通过采用分段扫描,插入定量的媒体文件至数据库后,提前通知媒体应用可以从媒体数据库中获取数据并显示,可以大幅度提升媒体应用显示媒体文件的时间,缩短用户等待的时间,提升用户体验。
61.本公开实施例中,媒体扫描结束后发送结束扫描的广播,媒体应用监听到结束扫描的广播后会再次从数据库中获取数据并更新界面。
62.采用本公开实施例的方案扫描磁盘后,会大幅度提供扫描性能,同时,由于采用了分段扫描的应用,用户在播放音乐或者视频时,不需要接收到mediascanner的结束扫描广播后,才开始去数据库获取数据,如此会严重滞后了用户查看音视频的时间,通过分段获取数据并显示可以进一步缩短用户等待时间。
63.接下来,通过一个实施例对上述多媒体文件扫描方法进行说明。如图3所示,图3是根据一示例性实施例示出的多媒体文件扫描方法的另一流程示意图,包括以下步骤。
64.步骤301,mediascannerreceiver在收到挂载广播之后,识别挂载广播。
65.步骤302,mediascannerservice启动扫描服务,获取磁盘路径;在步骤302中,可以向媒体应用发送扫描广播;
66.步骤303,mediascanner接收扫描任务,提供磁盘路径;
67.步骤304,scanpoolutil根据磁盘路径,扫描磁盘文件夹下所有文件,提供文件路径;
68.步骤305,parsepoolutil将解析任务交给解析线程池,解析文件;
69.步骤306,mediascanner接收文件解析信息,达到预设数量时,将解析文件插入数据库;
70.步骤307,mediaprovider数据库插入;并向媒体应用发送数据更新回调;
71.步骤308,数据插入完成后,结束扫描任务;并向媒体应用发送结束扫描广播。
72.基于同一发明构思,本公开实施例还提供一种多媒体文件扫描装置,如图4所示,图4是根据一示例性实施例示出的多媒体文件扫描装置的框图,包括:扫描服务模块401,被配置为在收到挂载广播时,启动扫描服务,获取扫描路径;扫描线程池模块402,被配置为启动扫描线程池,根据所述扫描路径,将从挂载的存储装置中扫描到的文件插入解析任务队列;解析线程池模块403,被配置为启动解析线程池,从所述解析任务队列中获取并解析文件,得到解析后的数据。
73.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
74.图5是根据一示例性实施例示出的一种电子设备500的框图。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(i/o)接口504,以及通信组件505中的一者或多者。
75.其中,处理器501用于控制该电子设备500的整体操作,以完成上述的多媒体文件扫描中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
76.在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述多媒体文件扫描方法。
77.在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该
程序指令被处理器执行时实现上述的多媒体文件扫描方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的多媒体文件扫描方法。
78.在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的多媒体文件扫描方法的代码部分。
79.以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
80.另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
81.此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献