CN108366271B - 一种多媒体文件的播放方法、装置及存储介质 - Google Patents

一种多媒体文件的播放方法、装置及存储介质 Download PDF

Info

Publication number
CN108366271B
CN108366271B CN201810136731.7A CN201810136731A CN108366271B CN 108366271 B CN108366271 B CN 108366271B CN 201810136731 A CN201810136731 A CN 201810136731A CN 108366271 B CN108366271 B CN 108366271B
Authority
CN
China
Prior art keywords
multimedia file
playing
played
current
parameter information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810136731.7A
Other languages
English (en)
Other versions
CN108366271A (zh
Inventor
曹硕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Music Entertainment Technology Shenzhen Co Ltd
Original Assignee
Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Music Entertainment Technology Shenzhen Co Ltd filed Critical Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority to CN201810136731.7A priority Critical patent/CN108366271B/zh
Publication of CN108366271A publication Critical patent/CN108366271A/zh
Application granted granted Critical
Publication of CN108366271B publication Critical patent/CN108366271B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种多媒体文件的播放方法、装置及存储介质,该方法包括:获取客户端播放的当前多媒体文件的第一参数信息,获取待播放多媒体文件对应的第二参数信息;判断第一参数信息与第二参数信息是否一致;若第一参数信息与第二参数信息一致,则检测当前多媒体文件的播放进度;在当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件,以及在当前多媒体文件播放完成时,播放待播放多媒体文件。本发明中,在播放当前多媒体文件时且当前多媒体文件到达预设第一预设播放进度时,提前加载待播放多媒体文件,并在当前多媒体文件播放完成时,播放待播放多媒体文件,实现了多个多媒体文件播放的连续性。

Description

一种多媒体文件的播放方法、装置及存储介质
技术领域
本发明涉及多媒体技术领域,尤其涉及一种多媒体文件的播放方法、装置及存储介质。
背景技术
随着终端技术的不断发展,手机、平板电脑等终端的应用越来越广泛。用户可以通过终端获取需要的信息、资料或者多媒体文件,多媒体文件譬如音乐、视频。
以在线音乐为例,现有技术中,终端中的大部分音乐本身是属于一个整体的,但是由于播放时长过长,为方便用户聆听,唱片方发行的时候会对这些音乐进行分轨变成一个一个不同的音频文件。例如,原本某一音乐曲目完整播放需要10分钟,但由于时长过长,唱片方会将该音乐曲目进行分轨,划分成两首以上的歌曲进行播放。而现有播放器在播放歌曲时,通常是当前歌曲播放完之后,才开始准备下一首歌曲的播放,由于准备过程需要花费一些时间,因此多首歌曲之间会存在明显的停顿。
发明内容
本发明实施例提供一种多媒体文件的播放方法、装置及存储介质,可以实现多个多媒体文件播放的连续性。
本发明实施例提供一种多媒体文件的播放方法,包括:
获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息;
判断所述第一参数信息与所述第二参数信息是否一致;
若所述第一参数信息与所述第二参数信息一致,则检测所述当前多媒体文件的播放进度;
在所述当前多媒体文件达到第一预设播放进度时,加载所述待播放多媒体文件,以及
在所述当前多媒体文件播放完成时,播放所述待播放多媒体文件。
本发明实施例还提供一种多媒体文件的播放装置,包括:
参数信息获取单元,用于获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息;
判断单元,用于判断所述参数信息获取单元获取的所述第一参数信息与所述第二参数信息是否一致;
播放进度检测单元,用于在所述判断单元判定所述第一参数信息与所述第二参数信息一致时,检测所述当前多媒体文件的播放进度;
加载单元,用于在所述播放进度检测单元检测到所述当前多媒体文件达到第一预设播放进度时,加载所述待播放多媒体文件,以及
播放单元,用于在所述当前多媒体文件播放完成时,播放所述待播放多媒体文件。
本发明实施例还提供一种存储介质,其内存储有处理器可执行指令,该处理器通过执行所述指令提供如上述的多媒体文件的播放方法。
该方案通过判断当前多媒体文件与待播放多媒体文件分别对应的参数信息是否一致,即判断该多媒体文件之间是否可以连续播放,如果可以连续播放,则在播放当前多媒体文件时,提前加载待播放多媒体文件,从而实现了多个多媒体文件播放的连续性。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1为本发明实施例提供的多媒体文件的播放方法的场景示意图;
图2为本发明实施例提供的多媒体文件的播放方法的流程示意图;
图3为本发明实施例提供的多媒体文件的播放方法的另一流程示意图;
图4为本发明实施例提供的客户端显示第二提示信息示意图;
图5为本发明实施例提供的多媒体文件的播放装置的结构示意图;
图6为本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例所提供的多媒体文件的播放系统的场景示意图。
该系统包括服务器a和客户端b,该服务器a包括本发明的多媒体文件的播放装置。在具体实施过程中,服务器a获取客户端b播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息,之后服务器a判断所述第一参数信息与所述第二参数信息是否一致。如果服务器a判定所述第一参数信息与所述第二参数信息一致,则继续检测客户端b播放的当前多媒体文件的播放进度。在检测到客户端b的当前多媒体文件的播放进度达到第一预设播放进度时,服务器a加载所述待播放多媒体文件。而在客户端b的当前多媒体文件播放完成时,服务器a播放预先加载的所述待播放多媒体文件。
在具体实施过程中,服务器a在检测到客户端b的当前多媒体文件达到第一预设播放进度时,可以生成第一提示信息,该第一提示信息包括所述待播放多媒体文件的播放信息,并将其发送至客户端b。客户端b接收到该第一提示信息时,可以显示所述播放信息。
在具体实施过程中,服务器a在检测到客户端b的当前多媒体文件达到第二预设播放进度时,可以生成第二提示信息,并将其发送至客户端b,客户端b接收到该第二提示信息时,可以将对应的提示信息显示出来,以便提示用户当前多媒体文件达到第二预设播放进度。
请参阅图2,图2是本发明实施例提供的多媒体文件的播放方法的流程示意图,方法包括:
在步骤S201中,获取客户端b播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息。
在具体实施过程中,本发明实施例所提到的客户端b播放的当前多媒体文件是该客户端b当前正在播放的多媒体文件,而待播放多媒体文件是当前多媒体文件播放完成之后,即将播放的下一个多媒体文件。其中,该多媒体文件可以是音频、视频等。当客户端b正在播放当前多媒体文件时,获取当前多媒体文件对应的的第一参数信息,并获取即将要播放的多媒体文件对应的第二参数信息。其中,第一参数信息和第二参数信息均包括:通道数、采样率、数据帧之中的一种或多种。
在步骤S202中,判断第一参数信息与第二参数信息是否一致,若第一参数信息与第二参数信息一致,则执行步骤S203。
为了自动识别多媒体文件是否需要无缝衔接,我们首先需要判断当前多媒体文件对应的第一参数信息与待播放多媒体文件对应的第二参数信息是否一致。又由于参数信息包括通道数、采样率和数据帧之中的一种或多种,因此在此步骤中,判断第一参数信息与第二参数信息是否一致可以有以下几种情况:
第一种情况:可以将参数信息中的某一参数进行单独比较。例如,将当前多媒体文件对应的通道数与待播放多媒体文件对应的通道数进行比较,若当前多媒体文件对应的通道数与待播放多媒体文件对应的通道数一致,则执行步骤S203。
第二种情况:可以将参数信息中的某两个参数分别进行比较。例如,将当前多媒体文件对应的通道数与待播放多媒体文件对应的通道数进行比较,且将当前多媒体文件对应的采样率与待播放多媒体文件对应的采样率进行比较,若当前多媒体文件对应的通道数及采样率与待播放多媒体文件对应的通道数及采样率都一致,则执行步骤S203。
第三种情况:可以将参数信息中的所有参数一一进行比较。例如:将当前多媒体文件对应的通道数与待播放多媒体文件对应的通道数进行比较,然后将当前多媒体文件对应的采样率与待播放多媒体文件对应的采样率进行比较,最后将当前多媒体文件对应的数据帧大小与待播放多媒体文件对应的数据帧大小进行比较,若当前多媒体文件对应的通道数、采样率及数据帧大小与待播放多媒体文件对应的通道数、采样率及数据帧大小都一致,则执行步骤S203。
在步骤S203中,检测当前多媒体文件是否达到第一预设播放进度,在当前多媒体文件达到第一预设播放进度时,执行步骤S204。
其中,播放进度可以理解为多媒体文件已经播放的时长,也可以理解为多媒体文件距离播放结束的时长,比如用户正使用手机听歌,该歌曲的播放时长为3分钟,用户已经听了2分钟,这时候,播放进度可以描述为该首歌曲已经播放了2分钟,或者该首歌曲还差1分钟播放完毕,本发明实施例对此不作具体限制。
可以理解的是,本发明实施例所提到的预设播放进度,可以预先设置在多媒体文件的播放装置中。其可以以时间数值的形式呈现,也可以以一个比例值的形式呈现,比如,一个多媒体文件播放结束前的前10秒,或者多媒体文件已经播放的时长与多媒体文件总时长的比值98%,值得说明的是,时间数值和比例值的取值不仅仅限于上述值。
需要说明的是,在对当前多媒体文件的播放进度进行检测后,可以判断当前多媒体文件的播放进度是否达到第一预设播放进度,若判断出当前多媒体文件的播放进度没有达到第一预设播放进度,则继续对当前多媒体文件的播放进度进行检测,若判断出当前多媒体文件的播放进度达到了第一预设播放进度,则执行步骤S204。
其中,检测当前多媒体文件的播放进度是否达到第一预设播放进度,具体可以通过确定当前多媒体文件已经播放的时间长度,检测当前多媒体文件是否达到第一预设播放进度,或者可以通过确定当前多媒体文件未播放的时间长度,检测当前多媒体文件是否达到第一预设播放进度等等,此处不作具体限制。
在步骤S204中,加载待播放多媒体文件。
其中,在检测出当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件。
特别的,为了使待播放多媒体文件能无缝衔接上当前播放多媒体文件,应该控制第一预设播放进度,即控制待播放多媒体文件的加载时间,也就是说控制待播放多媒体文件的解码时间,既不能提前也不能延后,一般可以在当前多媒体文件播放到最后几十毫秒时,对待播放多媒体文件进行解码,当然,何时开始解码可以根据解码速度而定,也可以根据多媒体文件的大小而定,等等,此处不作具体限制。
在步骤S205中,在当前多媒体文件播放完成时,播放待播放多媒体文件。
其中,当前多媒体文件播放完成时,相应的待播放多媒体文件也已经加载,这时候可以马上播放待播放的多媒体文件。
本发明实施例通过先获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息;再判断第一参数信息与第二参数信息是否一致;若第一参数信息与第二参数信息一致,则检测当前多媒体文件的播放进度;在当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件,以及在当前多媒体文件播放完成时,播放待播放多媒体文件。该方案通过判断当前多媒体文件与待播放多媒体文件的参数信息是否一致,即判断该多媒体文件之间是否可以连续播放,如果可以连续播放,则在播放当前多媒体文件时,提前加载待播放多媒体文件,从而实现了多个多媒体文件播放的连续性。
根据上述实施例描述的多媒体文件的播放方法,以下将举例作进一步说明。在本发明实施例中,将以多媒体文件为歌曲为例,对应的从歌曲的播放装置的角度进行描述,该歌曲的播放装置具体可以集成在服务器中。
请参阅图3,图3是本发明实施例提供的歌曲的播放方法的另一流程示意图。
值得说明的是,本发明实施例所述的多媒体文件播放方法是利用多个线程共用一个缓冲区来工作的。以下也将从歌曲的播放装置的角度来描述多个线程共用一个缓冲区的工作过程:
在步骤S301中,利用第二线程获取客户端b播放的当前歌曲的第一参数信息,并获取待播放歌曲对应的第二参数信息。
具体的,客户端b播放的当前歌曲是客户端b当前正在播放的歌曲,而待播放歌曲是当前歌曲播放完成之后,即将播放的下一首歌曲。当客户端b正在播放当前歌曲时,利用第二线程获取客户端b播放的当前歌曲和待播放歌曲分别对应的参数信息,其中,该参数信息是利用第一线程和第二线程分别对当前歌曲和待播放歌曲进行解码获得,该参数信息包括:通道数、采样率和数据帧之中的一种或多种。
可以知道的是,在第二线程获取参数信息之前,服务器已利用第一线程对当前歌曲进行了解码,得到了当前歌曲对应的参数信息及播放数据;然后服务器会初始化缓冲区,最后利用第一线程将当前歌曲对应的播放数据填入缓冲区进行播放。
特别的,由于上层程序处理新的播放内容需要一定的时间,同时也要保证系统尽量消耗较少的资源,因此假设缓冲区设置为1秒时,第一线程可以在当前歌曲播放到最后500毫秒时,通知界面可以开始准备下一首歌曲,也就是说这时候才开始启动第二线程,这样是为了保证不会太早的设置让系统消耗太多资源让第一线程和第二线程同时存在太久,也能保证有足够的时间让第二线程处理待播放歌曲,并让上层程序处理新的播放内容,包括文件头下载,播放格式解析等。当然,何时开始通知界面可以根据缓冲区的大小来定,也可以根据第二线程的处理速率来定,等等,此处不作具体限制。
在步骤S302中,利用第二线程判断第一参数信息与第二参数信息是否一致,若一致,则执行步骤S303。
为了自动识别多首歌曲之间是否需要无缝衔接,我们首先需要判断当前歌曲对应的第一参数信息与待播放歌曲对应的第二参数信息是否一致。又由于参数信息包括通道数、采样率和数据帧之中的一种或多种,因此在此步骤中,判断第一参数信息与第二参数信息是否一致可以有以下几种情况:
第一种情况:可以将参数信息中的某一参数进行单独比较。例如,将当前歌曲对应的通道数与待播放歌曲对应的通道数进行比较,若当前歌曲对应的通道数与待播放歌曲对应的通道数一致,则执行步骤S303。
第二种情况:可以将参数信息中的某两个参数分别进行比较。例如,将当前歌曲对应的通道数与待播放歌曲对应的通道数进行比较,且将当前歌曲对应的采样率与待播放歌曲对应的采样率进行比较,若当前歌曲对应的通道数及采样率与待播放歌曲对应的通道数及采样率都一致,则执行步骤S303。
第三种情况:可以将参数信息中的所有参数一一进行比较。例如:将当前歌曲对应的通道数与待播放歌曲对应的通道数进行比较,然后将当前歌曲对应的采样率与待播放歌曲对应的采样率进行比较,最后将当前歌曲对应的数据帧大小与待播放歌曲对应的数据帧大小进行比较,若当前歌曲对应的通道数、采样率及数据帧大小与待播放歌曲对应的通道数、采样率及数据帧大小都一致,则执行步骤S303。
需要说明的是,若经过以上几种情况的比较之后,得到第一参数信息与第二参数信息不一致,则表示当前歌曲与待播放歌曲没有达到无缝播放的条件,因此仍按照现有技术处理待播放歌曲,而按照现有技术处理歌曲时,每次播放都会建立一个新的线程并初始化一个对应的缓冲区,即服务器会在当前歌曲播放结束之后销毁当前歌曲对应的线程和缓冲区,并通知客户端b开始准备播放待播放歌曲。
特别的,可以考虑到还存在这样一种情况,在经过以上几种情况的比较之后,得到第一参数信息与第二参数信息一致时,此时可以知道当前歌曲与待播放歌曲之间是需要无缝播放的,但是可能会出现一些异常场景,例如待播放歌曲因为是网络播放下载速度跟不上导致无法真正开始无缝链接,或者是用户在当前歌曲播放过程中点击了另一首歌曲进行播放等。在出现待播放歌曲因为网络播放下载速度跟不上导致无法真正开始无缝链接的情况时,可以在播放当前歌曲时,对当前的网络环境进行检测,当发现当前网络播放下载速度过慢时,可以比网络正常时更早地加载待播放歌曲,这样便可以实现无缝链接了;在出现用户在当前歌曲播放过程中点击了另一首歌曲进行播放的情况时,我们将不再播放提前加载的待播放歌曲,而是播放用户点击的歌曲。
在步骤S303中,在利用第一线程从当前歌曲对应的缓冲区获取当前歌曲进行播放时,利用第二线程检测当前歌曲的播放进度。
可以理解的是,通常利用第一线程控制当前歌曲的播放,具体的,利用第一线程对当前歌曲进行解码,将播放数据填入缓冲区,该缓冲区即为当前歌曲对应的缓冲区,第一线程从当前歌曲对应的缓冲区获取播放数据进行播放,在利用第一线程从当前歌曲对应的缓冲区获取播放数据进行播放时,利用第二线程检测当前歌曲的播放进度。
需要说明的是,可以利用第二线程一直检测当前歌曲的播放进度;为了节省资源,也可以预先设置一时间周期,检测当前歌曲的播放进度,例如,可以每隔10毫秒检测一次当前歌曲的播放进度,或者每隔30毫秒检测一次当前歌曲的播放进度,此处对此不作具体限制。
在步骤S304中,在利用第二线程检测到当前歌曲达到第二预设播放进度时,生成第二提示信息并发送至客户端b。
其中,为了提示用户当前歌曲的播放进度,并且让用户知悉当前歌曲与待播放歌曲之间可以无缝播放,在利用第二线程检测到当前歌曲播放到第二预设播放进度时,就可以生成第二提示信息,并发送至客户端b显示,该提示信息用于提示用户当前播放歌曲已达到第二预设播放进度。
可以理解的是,本发明实施例所提到的预设播放进度,可以预先设置在歌曲的播放装置中。其可以以时间数值的形式呈现,也可以以一个比例值的形式呈现,比如,一首歌曲播放结束前的前10秒,或者歌曲已经播放的时长与歌曲总时长的比值98%,值得说明的是,时间数值和比例值的取值不仅仅限于上述值。
比如,预先设置第二预设播放进度为当前歌曲播放结束前的前20秒,则服务器a可以在当前歌曲播放结束前的前20秒时,生成第一提示消息,并将其发送至客户端b显示,例如,如图4所示,可以是以一弹框的形式呈现提示消息:“当前歌曲离结束还剩20s,即将播放下一首歌曲……”,也可以是直接在界面的空白区域显示提示消息,等等,此处不作具体限制,仅用于提示用户当前播放歌曲即将播放完毕,下一首歌曲即将开始无缝播放。
在步骤S305中,在第二线程检测到当前歌曲达到第一预设播放进度时,利用第二线程将待播放歌曲加载至当前歌曲对应的缓冲区,并生成第一提示信息发送至客户端b。
特别的,为了使待播放歌曲能无缝衔接上当前播放歌曲,应该控制第一预设播放进度,即待播放歌曲的解码时间,既不能提前也不能延后,一般可以在当前歌曲播放到最后几十毫秒时,对待播放歌曲进行解码,并加载至当前歌曲对应的缓冲区中,当然,何时开始解码可以根据第二线程的解码速度而定,也可以根据歌曲的大小而定,等等,此处不作具体限制。
需要说明的是,为了同步界面播放信息,当判断出当前歌曲的播放进度达到了第一预设播放进度,还可以生成第一提示信息,并将该第一提示信息发送至客户端b,该第一提示信息包括待播放歌曲的播放信息,以便通知客户端b下一首歌曲即将开始播放,并且通知客户端b控制界面重置播放信息,其中,该播放信息可以包括:歌词、歌手图片及播放时间等,也就是说,在判定当前歌曲与待播放歌曲可以无缝播放时,由于此时相对于现有的播放形式来说,待播放歌曲稍微提前了一定时间,因此需要通知界面稍微提前一定时间重置播放信息,即界面可以提前一定时间重绘待播放歌曲的歌词、歌手图片及播放时间等,以便让用户从视觉和听觉上同时感知待播放歌曲开始播放了。
在步骤S306,在当前歌曲播放完成时,播放待播放歌曲。
由于在当前歌曲播放时,第二线程就对待播放歌曲进行了解码,而且在解码的同时,也通知了客户端b重绘下一首歌曲的歌词、歌手图片和播放时间等播放信息,因此客户端b在当前歌曲播放完毕之后,可以马上开始播放待播放歌曲,而且可以在开始播放待播放歌曲的同时,将下一首歌曲的歌词、歌手图片和播放时间等播放信息显示在界面上,使得用户从听觉和视觉上同时感知到下一首歌曲开始播放了。
本发明实施例通过先获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息;再判断第一参数信息与第二参数信息是否一致;若第一参数信息与第二参数信息一致,则检测当前多媒体文件的播放进度;在当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件,以及在当前多媒体文件播放完成时,播放待播放多媒体文件。该方案通过判断当前多媒体文件与待播放多媒体文件的参数信息一致时,在播放当前多媒体文件时,提前加载待播放多媒体文件,并提前发送消息通知界面准备待播放多媒体文件播放信息,从而实现了多个在线多媒体文件播放的连续性。
根据上述实施例所描述的方法,本实施例结合具体的应用场景对本发明中的多媒体文件的播放方法进行详细描述,此处,将以多媒体文件为歌曲为例,对应的从歌曲的播放装置的角度进行详细描述。
应用场景1:用户A开启手机上已安装的播放器,点击一首歌曲进行播放,在播放器开启后,可触发客户端b向歌曲的播放装置发送播放歌曲请求,歌曲的播放装置接收到该请求时,首先利用第一线程对用户A选择的该首歌曲进行解码,得到该首歌曲对应的参数信息和播放数据,然后初始化缓冲区,将参数信息设定为该缓冲区中的参数信息,并将播放数据填入该缓冲区中进行播放,其中该首歌曲可以表示为客户端b播放的当前歌曲。然后利用第二线程获取待播放歌曲,待播放歌曲即为当前歌曲播放完成后,即将播放的下一首歌曲,当获取待播放歌曲之后,利用第二线程对待播放歌曲的文件头信息进行解码,获得待播放歌曲对应的参数信息,然后与缓冲区中的参数信息比较(由于缓冲区中的参数信息是根据当前歌曲的参数信息设定的,因此将待播放歌曲对应的参数信息与缓冲区中的参数信息进行比较,即是将待播放歌曲对应的参数信息与当前歌曲对应的参数信息进行比较),若经过比较之后判定待播放歌曲对应的参数信息与当前歌曲对应的参数信息一致时,就可以利用第二线程一直检测当前歌曲的播放进度,在检测到当前歌曲的播放进度达到第二预设播放进度时,则可以生成第二提示信息,并发送至客户端b显示,该第二提示信息用于提示用户A当前播放歌曲达到第二预设播放进度,例如,假设设置第二预设播放进度为当前歌曲播放结束前的前10秒,则可以在当前歌曲播放结束前的前10秒生成一提示信息:“当前歌曲离结束还剩10秒,即将播放下一首歌曲……”,并将其发送至客户端b显示。以便告知用户A当前歌曲还有10秒就播放完毕;在检测到当前歌曲的播放进度达到第一预设播放进度时,则可以加载待播放歌曲,即对待播放歌曲进行解码,得到播放数据,并将其填入当前歌曲对应的同一缓冲区中,从而可以在当前歌曲播放结束时,马上播放待播放歌曲,用户听起来就是连续的了。
应用场景2:在贝多芬第五交响曲中,最后两首歌曲属于一个整体,应该一气呵成的演绎,但是唱片方发行的时候却对其进行分轨,使其变成了两首歌曲,现有技术中是每次播放时都会建立一个新的播放内核和初始化一个对应的缓冲区,因此使用现有的播放器播放时,在播放倒数第二首歌曲时会建立一个播放内核和初始化一个对应的缓冲区,在播放结束以后会通知解码开始播放倒数第一首歌曲,并且销毁倒数第二首歌对应的播放内核和释放缓冲区,然后重新建立一个播放内核和初始化一个对应的缓冲区播放倒数第一首歌曲。由于解码歌曲和建立新的播放内核以及初始化缓冲区都需要一些时间,因此会使得两首歌的播放存在间隙。
而本发明方案采用多个播放内核同时存在并且共用同一缓冲区,因此当用户A使用采用了本发明方案的播放器听贝多芬第五交响曲时,当用户A点击倒数第二首歌进行播放时,服务器接收到该请求,首先利用第一播放内核对倒数第二首歌进行解码,得到倒数第二首歌对应的音频参数和播放数据,然后将倒数第二首歌对应的音频参数设定为缓冲区中的音频参数,并将倒数第二首歌对应的播放数据填入缓冲区,利用第一播放内核从缓冲区中获取数据进行播放,此时第一播放内核是当前的主播放内核,界面的回调,播放时间等都是根据主播放内核来决定的。假设缓冲区设置为1秒,第一播放内核在播放到最后500毫秒的时候开始通知界面可以开始准备倒数第二首歌的播放了,也即在这时候第一播放内核通知歌曲的播放装置启动第二播放内核,这里设置为500毫秒是因为我们的缓冲区设置为1秒,这样可以保证不会太早的设置让系统消耗太多资源维持两个播放内核一起存在太久时间,也能保证有足够的时间让上层处理新的播放内容,包括文件头下载,播放格式解析等操作。当倒数第二首歌正在播放时,利用第二播放内核获取倒数第一首歌,并对其进行格式解析,获得倒数第一首歌对应的音频参数,将该音频参数与缓冲区中的音频参数进行比较,若经比较得到该音频参数与缓冲区中的音频参数一致,则表示可以连续播放,并且可以直接使用当前歌曲对应的缓冲区,如果不能连续播放,则需要初始化一个新的缓冲区来进行播放,此时第二播放内核不是主播放内核,它不给界面进行任何回调操作。如果可以共用同一缓冲区,那么第二播放内核会在启动后,一直监控当前歌曲对应的缓冲区中的数据是否已经播放完了,当发现当前歌曲对应的缓冲区快没有数据时,开始正式解码倒数第一首歌,并且把当前新解码的数据填入当前歌曲对应的缓冲区,这样就能保证第一播放内核的内容被播放完以后才开始播放第二播放内核的内容。不能太早也不能太晚,太早会导致第一播放内核的数据播放不完整,太晚的话,缓冲区会因为数据不够导致停止而听到间隙。
在本发明所提供的具体应用场景中,多媒体文的播放装置在播放用户指定的多媒体文件时,获取该多媒体文件的参数信息,并获取待播放多媒体文件及对应的参数信息并进行比较,当判定该多媒体文件对应的参数信息与待播放多媒体对应的参数信息一致时,提前加载待播放多媒体文件,因而在该多媒体文件播放完成之后,可以马上播放待播放多媒体文件,实现了多个多媒体文件播放的连续性。
请参阅图5,图5为本发明实施例提供的多媒体文件的播放装置的结构示意图,其中所述多媒体文件的播放装置可以包括参数信息获取单元501、判断单元502、播放进度检测单元503、加载单元504及播放单元505。
其中,参数信息获取单元501,用于获取客户端b播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息。
在具体实施过程中,本发明实施例所提到的客户端b播放的当前多媒体文件是该客户端b当前正在播放的多媒体文件,而待播放多媒体文件是当前多媒体文件播放完之后,即将播放的下一首多媒体文件,该多媒体文件可以是音频、视频等。当客户端b正在播放当前多媒体文件时,获取当前多媒体文件的第一参数信息,并获取即将要播放的待播放多媒体文件的第二参数信息。其中,参数信息包括:通道数、采样率、数据帧之中的一种或多种。
判断单元502,用于判断参数信息获取单元501获取的第一参数信息与第二参数信息是否一致。
为了自动识别多媒体文件是否需要无缝衔接,我们首先需要判断当前多媒体文件对应的第一参数信息与待播放多媒体文件对应的第二参数信息是否一致。又由于参数信息包括通道数、采样率和数据帧之中的一种或多种,因此在此步骤中,判断第一参数信息与第二参数信息是否一致可以有以下几种情况:
第一种情况:可以将参数信息中的某一参数进行单独比较。例如,将当前多媒体文件对应的通道数与待播放多媒体文件对应的通道数进行比较。
第二种情况:可以将参数信息中的某两个参数分别进行比较。例如,将当前多媒体文件对应的通道数与待播放多媒体文件对应的通道数进行比较,且将当前多媒体文件对应的采样率与待播放多媒体文件对应的采样率进行比较。
第三种情况:可以将参数信息中的所有参数一一进行比较。例如:将当前多媒体文件对应的通道数与待播放多媒体文件对应的通道数进行比较,然后将当前多媒体文件对应的采样率与待播放多媒体文件对应的采样率进行比较,最后将当前多媒体文件对应的数据帧大小与待播放多媒体文件对应的数据帧大小进行比较。
播放进度检测单元503,用于在判断单元502判定第一参数信息与第二参数信息一致时,检测当前多媒体文件的播放进度。
在经过判断单元502对第一参数信息与第二参数信息进行判断,判定第一参数信息与第二参数信息一致时,播放进度检测单元503开始检测当前多媒体文件的播放进度。
其中,播放进度可以理解为多媒体文件已经播放的时长,也可以理解为多媒体文件距离播放结束的时长,比如用户正使用手机听歌,该歌曲的播放时长为3分钟,用户已经听了2分钟,这时候,播放进度可以描述为该首歌曲已经播放了2分钟,或者该首歌曲还差1分钟播放完毕,本发明实施例对此不作具体限制。
需要说明的是,在对当前多媒体文件的播放进度进行检测后,可以判断当前多媒体文件的播放进度是否达到第一预设播放进度,若判断出当前多媒体文件的播放进度没有达到第一预设播放进度,则继续对当前多媒体文件的播放进度进行检测。
其中,检测当前多媒体文件的播放进度是否达到第一预设播放进度,具体可以通过确定当前多媒体文件已经播放的时间长度,检测当前多媒体文件是否达到第一预设播放进度,或者可以通过确定当前多媒体文件未播放的时间长度,检测当前多媒体文件是否达到第一预设播放进度等等,此处不作具体限制。
可以理解的是,本发明实施例所提到的预设播放进度,可以预先设置在多媒体文件的播放装置中。其可以以时间数值的形式呈现,也可以以一个比例值的形式呈现,比如,一个多媒体文件播放结束前的前10秒,或者多媒体已经播放的时长与多媒体文件总时长的比值98%,值得说明的是,时间数值和比例值的取值不仅仅限于上述值。
在某些实施方式中,播放进度检测单元503具体用于利用第一线程从当前多媒体文件对应的缓冲区获取当前多媒体文件进行播放;在第一线程从当前多媒体文件对应的缓冲区获取当前多媒体文件进行播放时,利用第二线程检测当前多媒体文件的播放进度。
可以理解的是,通常利用第一线程控制当前多媒体文件的播放,具体的,利用第一线程对当前多媒体文件进行解码,将播放数据填入缓冲区,第一线程从该缓冲区获取播放数据进行播放,在利用第一线程从该缓冲区获取播放数据进行播放时,利用第二线程检测当前多媒体文件的播放进度。
需要说明的是,可以利用第二线程一直检测当前正在播放的多媒体文件的播放进度;为了节省资源,也可以预先设置一时间周期,检测当前正在播放的多媒体文件的播放进度,例如,可以每隔10毫秒检测一次当前正在播放的多媒体文件的播放进度,或者每隔30毫秒检测一次当前正在播放的多媒体文件的播放进度,此处对此不作具体限制。
加载单元504,用于在播放进度检测单元503检测到当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件。
在某些实施方式中,加载单元504具体用于在第二线程检测到当前多媒体文件达到第一预设播放进度时,继续利用第二线程将待播放多媒体文件加载至当前多媒体文件对应的缓冲区。
特别的,为了使待播放多媒体文件能无缝衔接上当前播放多媒体文件,应该控制第一预设播放进度,即控制待播放多媒体文件的加载时间,也就是说待播放多媒体文件的解码时间,既不能提前也不能延后,一般可以在当前多媒体文件播放到最后几十毫秒时,对待播放多媒体文件进行解码,当然,何时开始解码可以根据解码速度而定,也可以根据多媒体文件的大小而定,等等,此处不作具体限制。
播放单元505,用于在当前多媒体文件播放完成时,播放待播放多媒体文件。
其中,当前多媒体文件播放完成时,相应的待播放多媒体文件也已经加载,这时候可以马上播放待播放的多媒体文件。
可选的,所述装置还包括:
第二生成单元506,用于生成第二提示信息,该第二提示信息用于提示用户当前播放多媒体文件达到第二预设播放进度。
第二发送单元507,用于将该第二提示信息发送至客户端b。
其中,当播放进度检测单元503检测到当前多媒体文件播放到第二预设播放进度时,就可以生成第二提示信息,并发送至客户端b显示,该提示信息用于提示用户当前播放的当前多媒体文件已达到第二预设播放进度。
比如,预先设置第二预设播放进度为当前多媒体文件播放结束前的前20秒,则服务器a可以在当前多媒体文件播放结束前的前20秒时,生成第一提示消息,并将其发送至客户端b显示,例如,可以是以一弹框的形式呈现提示消息,也可以是直接在界面的空白区域显示提示消息,等等,此处不作具体限制,仅用于提示用户当前播放多媒体文件即将播放完毕。
第一生成单元508,用于生成第一提示信息,该第一提示信息包括待播放多媒体文件的播放信息。
第一发送单元509,用于将该第一提示信息发送至所述客户端b。
需要说明的是,为了同步界面播放信息,当播放进度检测单元503检测到当前多媒体文件的播放进度达到了第一预设播放进度,还可以生成第一提示信息,并将该第一提示信息发送至客户端b,该第一提示信息包括待播放多媒体文件的播放信息,以便通知客户端b下一首多媒体文件即将开始播放,并且通知客户端b控制界面重置播放信息,其中,该播放信息可以包括:歌词、歌手图片及播放时间等,也就是说,在判定当前多媒体文件与待播放多媒体文件可以无缝播放时,由于此时相对于现有的播放形式来说,待播放多媒体文件稍微提前了一定时间,因此需要通知界面稍微提前一定时间重置播放信息,即界面可以提前一定时间重绘待播放多媒体文件的歌词、歌手图片及播放时间等,以便让用户从视觉和听觉上同时感知待播放多媒体文件开始播放了。
本发明实施例提供的多媒体文件的播放装置,通过先获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息;再判断第一参数信息与第二参数信息是否一致;若第一参数信息与第二参数信息一致,则检测当前多媒体文件的播放进度;在当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件,以及在当前多媒体文件播放完成时,播放待播放多媒体文件。该方案通过判断当前多媒体文件与待播放多媒体文件的参数信息是否一致,即判断该多媒体文件之间是否可以连续播放,如果可以连续播放,则在播放当前多媒体文件时,提前加载待播放多媒体文件,从而实现了多个多媒体文件播放的连续性。
本发明实施例还提供一种服务器,其可以集成本发明实施例的多媒体文件的播放装置,如图6所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选地,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
服务器还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息;判断第一参数信息与第二参数信息是否一致;若第一参数信息与第二参数信息一致,则检测当前多媒体文件的播放进度;在当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件,以及在当前多媒体文件播放完成时,播放待播放多媒体文件。
可选地,该处理器601还可以用于,利用第一线程控制当前多媒体文件的播放;在利用第一线程控制当前多媒体文件的播放时,利用第二线程检测当前多媒体文件的播放进度;在当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件的步骤包括:在第二线程检测到当前多媒体文件达到第一预设播放进度时,继续利用第二线程加载待播放多媒体文件。
可选地,该处理器601还可以用于,利用第一线程从当前多媒体文件对应的缓冲区获取当前多媒体文件进行播放;而在第二线程检测到当前多媒体文件达到第一预设播放进度时,继续利用第二线程加载待播放多媒体文件的步骤包括:利用第二线程将待播放多媒体文件加载至当前多媒体文件对应的缓冲区。
可选地,该处理器601还可以用于,生成第一提示信息,第一提示信息包括待播放多媒体文件的播放信息;将第一提示信息发送至客户端。
可选地,该处理器601还可以用于,生成第二提示信息,第二提示信息用于提示用户当前播放多媒体文件达到第二预设播放进度;将第二提示信息发送至客户端。
由上述可知,本发明实施例提供的服务器中,通过先获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息;再判断第一参数信息与第二参数信息是否一致;若第一参数信息与第二参数信息一致,则检测当前多媒体文件的播放进度;在当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件,以及在当前多媒体文件播放完成时,播放待播放多媒体文件。该方案通过判断当前多媒体文件与待播放多媒体文件的参数信息一致时,在播放当前多媒体文件时,提前加载待播放多媒体文件,并提前发送消息通知界面准备待播放多媒体文件播放信息,从而实现了多个在线多媒体文件播放的连续性。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对多媒体文件的播放方法的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种多媒体文件的播放方法中的步骤。例如,该指令可以执行如下步骤:
获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息;判断第一参数信息与第二参数信息是否一致;若第一参数信息与第二参数信息一致,则检测当前多媒体文件的播放进度;在当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件,以及在当前多媒体文件播放完成时,播放待播放多媒体文件。
由上述可知,本发明实施例提供的存储介质中,通过先获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息;再判断第一参数信息与第二参数信息是否一致;若第一参数信息与第二参数信息一致,则检测当前多媒体文件的播放进度;在当前多媒体文件达到第一预设播放进度时,加载待播放多媒体文件,以及在当前多媒体文件播放完成时,播放待播放多媒体文件。该方案通过判断当前多媒体文件与待播放多媒体文件的参数信息一致时,在播放当前多媒体文件时,提前加载待播放多媒体文件,并提前发送消息通知界面准备待播放多媒体文件播放信息,从而实现了多个在线多媒体文件播放的连续性。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种多媒体文件的播放方法中的步骤,因此,可以实现本发明实施例所提供的任一种多媒体文件的播放方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种多媒体文件的播放方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种多媒体文件的播放方法,其特征在于,包括:
利用第一线程控制当前多媒体文件的播放;
在利用所述第一线程控制所述当前多媒体文件的播放时,利用第二线程获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息,其中,所述第一参数信息为对所述当前多媒体文件进行解码获得,所述第二参数信息为对所述待播放多媒体文件进行解码获得;
若所述第一参数信息与所述第二参数信息一致,则利用第二线程检测所述当前多媒体文件的播放进度;
在所述第二线程检测到所述当前多媒体文件达到第一预设播放进度时,继续利用第二线程加载所述待播放多媒体文件;
在所述当前多媒体文件播放完成时,播放所述待播放多媒体文件;
若所述第一参数信息与所述第二参数信息不一致,则在所述当前多媒体文件播放完成之后,加载所述待播放多媒体文件;
播放所述待播放多媒体文件。
2.根据权利要求1所述的多媒体文件的播放方法,其特征在于,利用第一线程控制所述当前多媒体文件的播放的步骤包括:
利用所述第一线程从当前多媒体文件对应的缓冲区获取当前多媒体文件进行播放;
而在所述第二线程检测到所述当前多媒体文件达到第一预设播放进度时,继续利用第二线程加载所述待播放多媒体文件的步骤包括:
利用所述第二线程将所述待播放多媒体文件加载至所述当前多媒体文件对应的缓冲区。
3.根据权利要求1所述的多媒体文件的播放方法,其特征在于,在所述当前多媒体文件达到第一预设播放进度时,所述方法还包括:
生成第一提示信息,所述第一提示信息包括所述待播放多媒体文件的播放信息;
将所述第一提示信息发送至所述客户端。
4.根据权利要求1所述的多媒体文件的播放方法,其特征在于,所述方法还包括:
生成第二提示信息,所述第二提示信息用于提示用户所述当前播放多媒体文件达到第二预设播放进度;
将所述第二提示信息发送至所述客户端。
5.根据权利要求1所述的多媒体文件的播放方法,其特征在于,所述第一参数信息和第二参数信息均包括通道数,采样率,数据帧中的一种或多种。
6.一种多媒体文件的播放装置,其特征在于,包括:
播放控制单元,用于利用第一线程控制当前多媒体文件的播放;
参数信息获取单元,用于在利用所述第一线程控制所述当前多媒体文件的播放时,利用第二线程获取客户端播放的当前多媒体文件的第一参数信息,并获取待播放多媒体文件对应的第二参数信息,其中,所述第一参数信息为对所述当前多媒体文件进行解码获得,所述第二参数信息为对所述待播放多媒体文件进行解码获得;
播放进度检测单元,用于在所述第一参数信息与所述第二参数信息一致时,利用第二线程检测所述当前多媒体文件的播放进度;
加载单元,用于在所述第二线程检测到所述当前多媒体文件达到第一预设播放进度时,继续利用第二线程加载所述待播放多媒体文件;
播放单元,用于在所述当前多媒体文件播放完成时,播放所述待播放多媒体文件;
载入单元,用于在所述第一参数信息与所述第二参数信息不一致时,在所述当前多媒体文件播放完成之后,加载所述待播放多媒体文件;播放所述待播放多媒体文件。
7.根据权利要求6所述的多媒体文件的播放装置,其特征在于,所述播放进度检测单元,具体用于利用所述第一线程从当前多媒体文件对应的缓冲区获取当前多媒体文件进行播放;
所述加载单元,具体用于利用所述第二线程将所述待播放多媒体文件加载至所述当前多媒体文件对应的缓冲区。
8.根据权利要求6所述的多媒体文件的播放装置,其特征在于,所述装置还包括:
第一生成单元,用于生成第一提示信息,所述第一提示信息包括所述待播放多媒体文件的播放信息;
第一发送单元,用于将所述第一提示信息发送至所述客户端。
9.根据权利要求6所述的多媒体文件的播放装置,其特征在于,所述装置还包括:
第二生成单元,用于生成第二提示信息,所述第二提示信息用于提示用户所述当前播放多媒体文件达到第二预设播放进度;
第二发送单元,用于将所述第二提示信息发送至所述客户端。
10.一种存储介质,其内存储有处理器可执行指令,该处理器通过执行所述指令提供如权利要求1-5中任一项所述的多媒体文件的播放方法。
CN201810136731.7A 2018-02-09 2018-02-09 一种多媒体文件的播放方法、装置及存储介质 Active CN108366271B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810136731.7A CN108366271B (zh) 2018-02-09 2018-02-09 一种多媒体文件的播放方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810136731.7A CN108366271B (zh) 2018-02-09 2018-02-09 一种多媒体文件的播放方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN108366271A CN108366271A (zh) 2018-08-03
CN108366271B true CN108366271B (zh) 2020-12-01

Family

ID=63005327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810136731.7A Active CN108366271B (zh) 2018-02-09 2018-02-09 一种多媒体文件的播放方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN108366271B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472073A (zh) * 2019-08-20 2019-11-19 深圳传音控股股份有限公司 随机播放方法、装置及计算机可读存储介质
CN113421124B (zh) * 2021-06-30 2023-04-07 成都新潮传媒集团有限公司 一种广告更新方法、装置及计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771845A (zh) * 2009-01-04 2010-07-07 联想(北京)有限公司 一种文件的播放处理方法、装置及播放器
CN103873921A (zh) * 2014-03-26 2014-06-18 北京奇艺世纪科技有限公司 一种视频的无缝播放方法及播放器
CN103997678A (zh) * 2014-04-24 2014-08-20 深圳创维-Rgb电子有限公司 一种多cas无缝切换方法及系统
WO2014124555A1 (zh) * 2013-02-17 2014-08-21 华为技术有限公司 流媒体数据传输的调节方法及装置
CN105376612A (zh) * 2014-08-26 2016-03-02 华为技术有限公司 一种视频播放方法、媒体设备、播放设备以及多媒体系统
CN105657524A (zh) * 2016-01-13 2016-06-08 上海视云网络科技有限公司 一种视频间无缝切换的方法
CN106375837A (zh) * 2016-11-14 2017-02-01 武汉斗鱼网络科技有限公司 一种广告插播方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856806B (zh) * 2012-11-28 2018-05-01 腾讯科技(北京)有限公司 视频流切换方法、装置及系统
CN103747326B (zh) * 2014-01-14 2017-08-18 华为技术有限公司 多媒体文件连续播放方法和装置
US10785523B2 (en) * 2016-06-16 2020-09-22 International Business Machines Corporation Streaming video queue management system
CN106792105B (zh) * 2016-11-30 2020-02-14 青岛海信电器股份有限公司 光盘镜像iso音视频文件的播放处理方法、装置及电视

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771845A (zh) * 2009-01-04 2010-07-07 联想(北京)有限公司 一种文件的播放处理方法、装置及播放器
WO2014124555A1 (zh) * 2013-02-17 2014-08-21 华为技术有限公司 流媒体数据传输的调节方法及装置
CN103873921A (zh) * 2014-03-26 2014-06-18 北京奇艺世纪科技有限公司 一种视频的无缝播放方法及播放器
CN103997678A (zh) * 2014-04-24 2014-08-20 深圳创维-Rgb电子有限公司 一种多cas无缝切换方法及系统
CN105376612A (zh) * 2014-08-26 2016-03-02 华为技术有限公司 一种视频播放方法、媒体设备、播放设备以及多媒体系统
CN105657524A (zh) * 2016-01-13 2016-06-08 上海视云网络科技有限公司 一种视频间无缝切换的方法
CN106375837A (zh) * 2016-11-14 2017-02-01 武汉斗鱼网络科技有限公司 一种广告插播方法及装置

Also Published As

Publication number Publication date
CN108366271A (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
US20220248077A1 (en) Video projection method, apparatus and device, and storage medium
US20040267899A1 (en) Incorporating interactive media into a playlist
CN108769816B (zh) 一种视频播放方法、装置及存储介质
US8176193B2 (en) Dynamic media asset delivery
WO2022033171A1 (zh) 多媒体数据的播放方法、装置、电子设备及存储介质
CN108366271B (zh) 一种多媒体文件的播放方法、装置及存储介质
CN112822431B (zh) 一种私密音视频通话的方法与设备
EP4047471A1 (en) Audio data processing method, server, and storage medium
CN112616084B (zh) 歌词显示方法、装置、终端及存储介质
PH12016000220A1 (en) Signal processing with operating state-dependent handling of multimedia attributes
WO2023169171A1 (zh) 进程管控方法、装置、存储介质及电子设备
CN104301797A (zh) 在移动终端浏览器中控制播放资源的方法及装置
CN111107412A (zh) 媒体播放进度同步方法、装置及存储介质
CN110536147A (zh) 直播处理的方法、装置及系统
CN110149544B (zh) 视频播放的方法、装置和存储介质
CN108882004B (zh) 视频录制方法、装置、设备及存储介质
CN104978398A (zh) 一种音乐播放方法及终端设备
CN114827701A (zh) 多媒体信息互动方法、装置、电子设备以及存储介质
CN112423099A (zh) 视频加载方法、装置和电子设备
CN112019858B (zh) 一种视频播放方法、装置、计算机设备和存储介质
CN114301887B (zh) 音频内容播放方法和音频内容播放装置
CN113329238B (zh) 视频文件管理方法、装置及服务器
CN111381942A (zh) 一种实现app后台常驻的方法和装置
CN113271499B (zh) 播放控制方法、设备、计算机程序产品及存储介质
CN113457130B (zh) 游戏内容回放方法和装置、可读存储介质、电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant