媒体播放控制方法、装置及系统和计算机可读存储介质与流程

文档序号:23469835发布日期:2020-12-29 13:10阅读:163来源:国知局
媒体播放控制方法、装置及系统和计算机可读存储介质与流程

本发明涉及媒体播放控制技术领域,尤其涉及一种媒体播放控制方法、一种媒体播放控制装置、一种媒体播放控制系统以及一种计算机可读存储介质。



背景技术:

随着技术的不断进步以及linux系统的开源性,目前越来越多的基于linux操作系统的嵌入式设备出现在生活中。基于linux操作系统进行定制开发,可以缩减产品开发周期。linux操作系统提供了丰富的工具资源,便于产品业务的开发,大大缩短了产品开发周期。

然而,目前的媒体播放器播放能力依然比较有限,播放的媒体信息来源单一,必须在连网的情况下将媒体信息从网络下载到本地再进行播放,或者在断网的情况下只能播放已下载到本地的媒体。这样单一的媒体信息来源会给用户带来极大的不便,更耗费了资源,增加了成本。而且,播放控制较为简单,难以实现较复杂的视频播放控制,如播放列表的维护,保存等。



技术实现要素:

因此,本发明实施例提出一种媒体播放控制方法、一种媒体播放控制装置、一种媒体播放控制装置以及一种计算机可读存储介质,以克服嵌入式设备媒体信息来源单一、视频播放难以控制的技术问题。

一方面,本发明实施例提出的一种媒体播放控制方法,包括:检测是否有设备接入事件,并当检测到有设备接入事件时读取触发所述设备接入事件的接入设备的文件目录以获取目标格式文件的文件名和文件路径,且将获取的所述目标格式文件的文件名和文件路径写入第一数据库表中;检测所述第一数据库表是否被修改,并当检测到所述第一数据库表被修改时将所述第一数据库表中的目标文件名及其对应的文件路径写入第二数据库表;以及检测所述第二数据库表是否被修改,并当检测到所述第二数据库表被修改时根据所述第二数据库表中的数据执行文件播放控制操作。

本实施例的媒体播放控制方法可以自动检测设备接入事件例如u盘插入事件并将u盘中目标文件信息存储到数据库表中,播放控制软件可以通过第二数据库表例如交互数据库表控制视频播放,操作简便、实用性强。

在本发明的一个实施例中,所述第二数据库表包含多个播放信息项,文件名项和文件路径项;其中所述多个播放信息项包括状态控制项、循环方式项和优先级项。

在本发明的一个实施例中,所述媒体播放控制方法还包括:读取所述第二数据库表中的数据以显示在播放控制界面;以及响应在所述播放控制界面的输入操作,修改所述第二数据库表的所述多个播放信息项的内容。

在本发明的一个实施例中,所述检测所述第一数据库表是否被修改,并当检测到所述第一数据库表被修改时将所述第一数据库表中的目标文件名及其对应的文件路径写入第二数据库表包括:当检测到所述第一数据库表被修改时读取所述第一数据库表中的数据以显示文件信息列表;以及响应在所述显示文件信息列表中的选取操作,将所述第一数据库表中的目标文件名及其对应的文件路径写入所述第二数据库表。

在本发明的一个实施例中,所述媒体播放控制方法还包括:监听所述文件播放控制操作的记录,并根据监听结果生成自动播放列表。

另一方面,本发明实施例提出的一种媒体播放控制装置,包括:接入检测进程模块,用于检测是否有设备接入事件,并当检测到有设备接入事件时读取触发所述设备接入事件的接入设备的文件目录以获取目标格式文件的文件名和文件路径,且将获取的所述目标格式文件的文件名和文件路径写入第一数据库表中;播放控制进程模块,用于检测所述第一数据库表是否被修改,并当检测到所述第一数据库表被修改时将所述第一数据库表中的目标文件名及其对应的文件路径写入第二数据库表;以及播放进程模块,用于检测所述第二数据库表是否被修改,并当检测到所述第二数据库表被修改时,根据所述第二数据库表中的数据执行文件播放控制操作。

本实施例媒体播放控制装置利用接入检测进程模块、播放控制进程模块和播放进程模块的协同作业,可以自动检测设备接入事件例如u盘插入事件并将u盘中目标文件信息存储到数据库表中,播放控制软件可以通过第二数据库表例如交互数据库表控制视频播放,操作简便、实用性强。

在本发明的一个实施例中,所述第二数据库表包含多个播放信息项,文件名项和文件路径项;其中所述多个播放信息项包括状态控制项、循环方式项和优先级项。

在本发明的一个实施例中,所述播放控制进程模块包括:界面显示单元,用于读取所述第二数据库表中的数据以显示在播放控制界面;以及输入响应单元,用于响应在所述播放控制界面的输入操作,修改所述第二数据库表的所述多个播放信息项的内容。

在本发明的一个实施例中,所述播放控制进程模块包括:列表显示单元,用于当检测到所述第一数据库表被修改时读取所述第一数据库表中的数据以显示文件信息列表;以及选取响应单元,响应在所述显示文件信息列表中的选取操作,将所述第一数据库表中的目标文件名及其对应的文件路径写入所述第二数据库表。

在本发明的一个实施例中,所述媒体播放控制装置还包括:播放器监控模块,用于监听所述文件播放控制操作的记录,并根据监听结果生成自动播放列表。

在本发明的一个实施例中,所述接入检测进程模块、所述播放控制进程模块和所述播放进程模块之间通过文件监控工具检测数据库表变动实现信号传递。

再一方面,本发明实施例提出的一种媒体播放控制系统,包括:处理器和连接所述处理器的存储器;其中所述存储器存储有所述处理器执行的指令,且所述指令使得所述处理器执行操作以进行前述实施例任意一种媒体播放控制方法。

又一方面,本发明实施例提出的一种计算机可读存储介质,其为非易失性存储器且存储有程序代码,当所述程序代码被一个或多个处理器执行时,使得所述一个或多个处理器执行前述实施例任意一种媒体播放控制方法。

由上可知,本发明上述技术特征可以具有如下一个或多个有益效果:可自动检测接入设备接入事件、以及将接入设备中目标格式文件信息存储到数据库表中,播放软件通过交互数据库表控制文件播放;操作简便,实用性强。再者,用户可根据喜好,选择过滤文件格式,自由检出文件信息写入数据库表,比如选择mp4格式,则接入视频检测时就只检测mp4格式的视频文件。此外,用户可按照不同方式控制视频文件播放,即在播放控制界面设置视频的播放方式:单曲循环,列表循环播放一次,列表无限循环等;作为一个视频处理设备,在户外视频播放的场景中,设定好播放列表以及列表循环方式等,就可实现自动视频播放,在实际应用中有较强的实用性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明第一实施例的一种媒体播放控制方法的流程图。

图2为图1中步骤s13的子步骤流程图。

图3为本发明第一实施例的另一种媒体播放控制方法的部分步骤示意图。

图4为本发明第一实施例中多个进程配合完成媒体播放控制的工作原理示意图。

图5为本发明第二实施例的一种媒体播放控制装置的模块示意图。

图6为图5中的播放控制进程模块的具体单元示意图。

图7为图5中的播放控制进程模块的另一种具体单元示意图。

图8为本发明第二实施例的另一种媒体播放控制装置的模块示意图。

图9为本发明第三实施例的一种媒体播放控制系统的结构示意图。

图10为本发明第四实施例的一种计算机可读存储介质的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

【第一实施例】

如图1所示,本发明第一实施例提供的一种媒体播放控制方法,包括步骤:

s11:检测是否有设备接入事件,并当检测到有设备接入事件时读取触发所述设备接入事件的接入设备的文件目录以获取目标格式文件的文件名和文件路径,且将获取的所述目标格式文件的文件名和文件路径写入第一数据库表中;

s13:检测所述第一数据库表是否被修改,并当检测到所述第一数据库表被修改时将所述第一数据库表中的目标文件名及其对应的文件路径写入第二数据库表;以及

s15:检测所述第二数据库表是否被修改,并当检测到所述第二数据库表被修改时根据所述第二数据库表中的数据执行文件播放控制操作。

此外,参见图2,本实施例的步骤s13例如子步骤:

s131:当检测到所述第一数据库表被修改时读取所述第一数据库表中的数据以显示文件信息列表;以及

s133:响应在所述显示文件信息列表中的选取操作,将所述第一数据库表中的目标文件名及其对应的文件路径写入所述第二数据库表。

另外,参见图3,本实施例的媒体播放控制方法在步骤s15之前,还可以包括:

s14a:读取所述第二数据库表中的数据以显示在播放控制界面;以及

s14b:响应在所述播放控制界面的输入操作,修改所述第二数据库表的多个播放信息项的内容。

再者,本实施例的媒体播放控制方法还可以包括:监听所述文件播放控制操作的记录,并根据监听结果生成自动播放列表。

为便于更清楚地理解本实施例的媒体播放控制方法的各个步骤s11、s13、s15、s14a及s14b和子步骤s131及s133,下面结合图4进行举例说明。

本举例为解决嵌入式设备媒体信息来源单一、视频播放难以控制的技术问题,提供一种基于嵌入式操作系统linux平台的u盘自动识别、良好播放控制的媒体播放控制方法,其能够使用户欣赏u盘内的媒体信息,记录u盘播放历史,自由选择视频文件形成播放列表,实现实时播放控制,改善用户体验。本举例的媒体播放控制方法具体可以应用在视频处理器、视频播放器等产品中。

承上述,本举例的媒体播放控制方法的实现过程如下:

首先,创建数据库,内建两个数据库表,分别为图4所示的disklist数据库表和playlist数据库表。其中,disklist数据库表和playlist数据库表分别设置有多个数据项,例如disklist数据库表包含文件名项(filename)、文件路径项(path)等,playlist数据库表包含文件名项(vod_name)、文件路径项(path)以及多个播放信息项例如状态控制项(ctrl)、循环方式项(loop)、优先级项(priority)、播放时间项(playtime)和点击率项(hitrate)。举例来说,ctrl的内容为1表示播放视频文件,为0表示暂停视频文件的播放。之后,将disklist数据库表和playlist数据库表载入嵌入式设备中,接下来就可以进行u盘自动识别和文件播放控制。

本举例的媒体播放控制方法执行于嵌入式设备中涉及三个进程,分别为:(a)接入检测进程,(b)播放控制进程,以及(c)播放进程;具体描述如下:

(a)接入检测进程

接入检测进程检测是否有u盘插入,具体可以利用netlink机制检测热插拔事件。netlink是面向数据包的服务,为内核与用户层搭建了一个高速通道,是udev实现的基础。该工作方式是异步的,用户层程序不必使用轮询等技术来检测热拔插事件,只需要创建一个socket(套接字)描述符,将描述符绑定到接收地址,就可以实现热拔插事件的监听。其中,udev是linuxkernel2.6系列的设备管理器,其主要的功能是管理/dev目录下的设备节点,同时也是用来接替devfs及热插拔的功能。

检测到u盘插入事件后逐条读取信息,查找确定u盘的挂载点;找到u盘挂载位置后自动读取u盘文件目录,依次检测目录名是否有目标格式文件例如“.mp4”字符,当然此处的目标格式文件并不限于mp4视频文件,也可以是多种文件格式(例如avi、rmvb、mov、mp4等)的视频文件甚至图片文件,将检测出的文件的信息例如文件名和文件路径写入disklist数据库表。

换而言之,接入检测进程可以检测视频文件或指定文件,自动读取u盘中的视频文件或指定的其他文件格式。用户可以提前设置需要读取的文件格式,然后在检测读取的步骤中,仅读取提前设定的格式文件的信息。例如提前设定只读取mp4格式的视频文件信息,并将mp4格式的视频文件信息加入到disklist数据库中。以上对于文件格式的设置都可以通过人机界面进行,以上自动读取视频文件或指定文件指的是读取文件名和文件路径,这样的好处是不需要直接将u盘中的视频文件下载到本地,以节约本地资源,并且仅读取文件名和文件路径可以极大地提高系统读取和快速反应速度。

(b)播放控制进程

播放控制进程可以利用文件监控工具例如inotify-tools来检测disklist数据库表是否被修改,当检测到disklist数据库表因u盘插入且写入了目标格式文件的信息而导致被修改时,可以将disklist数据库表中的信息部分或全部转移到playlist数据库表。inotify-tools是为linux下inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件。inotify-tools是用c编写的,除了要求内核支持inotify外,不依赖于其他。inotify-tools提供两种工具,一是inotifywait,它是用来监控文件或目录的变化,二是inotifywatch,它是用来统计文件系统访问的次数。

为提升软件界面友好性,播放控制进程还可以在检测到disklist数据库表被修改时,读取disklist数据库表中数据以显示文件信息列表(对应子步骤s131),借此可以通过人机交互操作在显示的文件信息列表中选取目标文件名,之后根据选取结果将disklist数据库表中的目标文件名及其对应的文件路径写入playlist数据库表(对应子步骤s133)。

再者,为了弹性设置目标文件名对应的文件路径下的视频文件的播放控制方式,播放控制进程还可以读取playlist数据库表中的数据以显示在播放控制界面(对应步骤s14a),以及响应在所述播放控制界面的输入操作修改playlist数据库表的多个播放信息项的内容(对应步骤s14b)。例如,在播放控制界面,用户点选某一个或多个文件名并设置循环方式后,playlist数据库表中的相应数据项(例如ctrl、loop)会被修改;此处的循环方式可以是单曲循环、列表循环播放一次、列表无限循环等。

(c)播放进程

播放控制进程可以利用文件监控工具例如inotify-tools来检测playlist数据库表是否被修改,当检测到playlist数据库表因写入目标文件名及其对应的文件路径和/或修改播放信息项的内容而导致被修改时,其会查看playlist数据库表中的数据,分析playlist数据库表中播放信息项的内容,调用接口实现视频文件的播放/暂停等。

由上可知,本举例的媒体播放控制方法由三个进程配合完成。其中,接入检测进程检测u盘数据,将视频文件信息写disklist数据库表;播放控制进程选择disklist数据库表内容存入playlist数据库表,形成播放列表,提供人机交互播放控制界面;以及播放进程检测playlist数据库表的变动,分析播放信息项的内容,完成播放控制功能(例如播放、暂停、快进等)。本举例中,通过inotify-tools工具检测数据库表变动,实现三个进程之间信号的传递。

承上述,本举例的媒体播放控制方法还可以利用一个播放器监控模块,监听文件播放控制操作的记录,包括被点播/播放的文件路径、频次、时长、时间段等信息,并根据以上信息自动排序生成自动播放列表。例如,根据被点播/播放的时间段和频次生成播放顺序清单,用户根据清单就可以知道在指定时间段各热门点播/播放的视频文件,并进行参考点播。当用户没有进行点播操作时,播放器根据该自动播放列表实现自动播放。

综上所述,本实施例可自动检测u盘插入、以及将u盘中视频文件信息存储到数据库表中,播放软件通过交互数据库表控制视频播放;操作简便,实用性强。再者,用户可根据喜好,选择过滤视频格式,自由检出视频文件信息写入数据库表,比如选择mp4格式,则u盘检测时就只检测mp4格式的视频文件。此外,用户可按照不同方式控制视频文件播放,即在播放控制界面设置视频的播放方式:单曲循环,列表循环播放一次,列表无限循环等;作为一个视频处理设备,在户外视频播放的场景中,设定好播放列表以及列表循环方式等,就可实现自动视频播放,在实际应用中有较强的实用性。

另外,值得说明的是,以上的u盘自动识别和视频播放也可以应用于其他的接入设备例如光盘自动识别、蓝牙等无线设备的自动识别。例如针对蓝牙设备,检测是否有蓝牙设备连接,待检测到蓝牙设备连接,则自动读取蓝牙设备中的视频文件或指定的其他文件格式,并将读取到的视频文件加入到嵌入式设备中的数据库表。

【第二实施例】

如图5所示,本发明第二实施例提供的一种媒体播放控制装置50,包括:接入检测进程模块51、播放控制进程模块53和播放进程模块55。

其中,接入检测进程模块51例如用于检测是否有设备接入事件,并当检测到有设备接入事件时读取触发所述设备接入事件的接入设备的文件目录以获取目标格式文件的文件名和文件路径,且将获取的所述目标格式文件的文件名和文件路径写入第一数据库表中;播放控制进程模块53例如用于检测所述第一数据库表是否被修改,并当检测到所述第一数据库表被修改时将所述第一数据库表中的目标文件名及其对应的文件路径写入第二数据库表;以及播放进程模块55例如用于检测所述第二数据库表是否被修改,并当检测到所述第二数据库表被修改时,根据所述第二数据库表中的数据执行文件播放控制操作。所述第二数据库表例如图4所示的playlist数据库表,其包含多个播放信息项,文件名项和文件路径项;其中所述多个播放信息项包括状态控制项、循环方式项和优先级项。

至于接入检测进程模块51、播放控制进程模块53和播放进程模块55的具体功能细节可参考前述第一实施例中的详细描述,在此不再赘述。此外,值得一提的是,接入检测进程模块51、播放控制进程模块53和播放进程模块55可以为软件模块,存储于非易失性存储器中且由处理器执行相关操作以进行前述第一实施例中的步骤s11、s13和s15。

再者,参见图6,播放控制进程模块53例如包括列表显示单元531和选取响应单元553。其中,列表显示单元531例如用于当检测到所述第一数据库表被修改时读取所述第一数据库表中的数据以显示文件信息列表;以及选取响应单元553例如用于响应在所述显示文件信息列表中的选取操作,将所述第一数据库表中的目标文件名及其对应的文件路径写入所述第二数据库表。至于列表显示单元531和选取响应单元553的具体功能细节可参考前述第一实施例中的相关描述,在此不再赘述。此外,值得一提的是,列表显示单元531和选取响应单元553可以为软件模块,存储于非易失性存储器中且由处理器执行相关操作以进行前述第一实施例中的子步骤s131和s133。

此外,参见图7,播放控制进程模块53例如在图6所示的基础上进一步包括:界面显示单元532和输入响应单元534。其中,界面显示单元532例如用于读取所述第二数据库表中的数据以显示在播放控制界面;以及输入响应单元534例如用于响应在所述播放控制界面的输入操作,修改所述第二数据库表的所述多个播放信息项的内容。至于界面显示单元532和输入响应单元534的具体功能细节可参考前述第一实施例中的相关描述,在此不再赘述。此外,值得一提的是,界面显示单元532和输入响应单元534可以为软件模块,存储于非易失性存储器中且由处理器执行相关操作以进行前述第一实施例中的步骤s14a和s14b

另外,参见图8,本实施例的媒体播放控制装置还可以进一步包括播放器监控模块57,例如用于监听所述文件播放控制操作的记录,并根据监听结果生成自动播放列表。举例来说,监听被点播/播放的文件路径、频次、时长、时间段等信息,并根据以上信息自动排序生成自动播放列表。比如,根据被点播/播放的时间段和频次生成播放顺序清单,用户根据清单就可以知道在指定时间段各热门点播/播放的视频文件,并进行参考点播。当用户没有进行点播操作时,播放器根据该自动播放列表实现自动播放。

【第三实施例】

如图9所示,本发明第三实施例提供的一种媒体播放控制系统90,包括:处理器91和存储器93;其中,存储器93存储由处理器91执行的指令,且所述指令例如使得处理器91执行操作以进行前述第一实施例所述的媒体播放控制方法。

【第四实施例】

如图10所示,本发明第四实施例提供的一种计算机可读存储介质100,其为非易失性存储器且存储有程序代码,当所述程序代码被一个或多个处理器执行时,例如使得所述一个或多个处理器执行前述第一实施例所述的媒体播放控制方法。

另外,可以理解的是,前述各个实施例仅为本发明的示例性说明,在技术特征不冲突、结构不矛盾、不违背本发明的发明目的前提下,各个实施例的技术方案可以任意组合、搭配使用。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和/或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多路单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多路网络单元上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元/模块可以集成在一个处理单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一个单元/模块中。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元/模块的形式实现。

上述以软件功能单元/模块的形式实现的集成的单元/模块,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)的一个或多个处理器执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1