发明内容
有鉴于此,本发明的目的在于提供一种网络电台插播语音文件的实现方法,使得网络电台在播放无线电台节目的过程中,能够插播语音文件。
为实现上述目的,本发明提供了一种网络电台编码器重连流媒体服务器的实现方法,预设在播放时间内的插播时间及其对应的插播文件,该方法包括以下步骤:
A.触发时间到达时,编码器中的控制逻辑单元判断当前时间是否在所述插播时间内,如果是,则执行步骤B1,否则,执行步骤B2;
B1.编码器中的控制逻辑单元将当前时间所在插播时间对应的插播文件确定为编码单元的源,并由所述编码单元对确定为源的所述插播文件进行编码,然后将编码结果发送给流媒体服务器,结束本流程;
B2.编码器中的控制逻辑单元将信号接收器的数字信号流确定为编码单元的源,并由所述编码单元对确定为源的数字信号流进行编码,然后将编码结果发送给流媒体服务器,结束本流程。
设置配置文件,该配置文件至少包括含有插播时间和该插播时间对应的插播文件的网络电台播放列表,并在执行所述步骤A之前获取该网络电台播放列表。
所述网络电台播放列表进一步包括播放时间,所述判断当前时间是否在插播时间内之前进一步包括:
判断当前时间是否在播放时间内,如果是,则继续;否则,编码器停止编码,直至结束。
编码器中的定时器以一个预先设置的时间间隔发出触发信号,所述的触发时间为接收到定时器触发信号的时间。
进一步设置含有定时器时间间隔的配置文件,并在执行所述步骤A之前获取该时间间隔,通知给定时器。
所述判断当前时间是否在播放时间内之前进一步包括:
判断编码器是否与流媒体服务器连接,如果是,则继续;否则,调用应用程序接口函数,连接流媒体服务器。
所述的应用程序接口函数为:Windows媒体编码器应用程序接口函数。
本发明还提供了一种网络电台插播语音文件的系统,包括:
信号接收器、编码器、流媒体服务器和播放器,
其中,信号接收器用于将发射塔的广播信号流转换成为数字信号流,再传送给编码器;编码器用于按照网络协议对上述的数字信号流进行编码,转换成流媒体服务器能够识别的信号格式;流媒体服务器用于将经过重新编码的数字信号流传送给网络电台的播放器;
所述的编码器至少包括:定时器、控制逻辑单元和编码单元,
定时器用于按照一定的时间间隔向控制逻辑单元发出触发信号;
控制逻辑单元用于在接收到触发信号后,判断当前时间是否在预设插播时间内,如果是,则将当前时间所在插播时间对应的预设插播文件确定为编码单元的源,否则,将信号接收器的数字信号流确定为编码单元的源;
编码单元在控制逻辑单元的控制下,对确定的源进行编码,并将编码结果发送给流媒体服务器。
所述的编码器进一步包括一个存储单元,存储包含网络电台节目播放时间、插播时间以及对应的插播文件的配置文件,用于控制逻辑单元从所述存储单元的配置文件中获取所述的播放时间、插播时间以及对应的插播文件,在编码器与流媒体服务器的保持连接时,决定编码单元切换编码的源或者停止编码。
所述的存储单元进一步存储记录有定时器发出触发信号的时间间隔的配置文件,用于所述的控制逻辑单元从存储单元的配置文件中获取所述时间间隔,并且通知给定时器。
所述的编码器进一步包括一个存储单元,存储记录有定时器发出触发信号的时间间隔的配置文件,用于所述的控制逻辑单元从含有时间间隔的存储单元的配置文件中获取所述时间间隔,并且通知给定时器。
应用本发明,网络电台在播放无线电台节目的过程中,能够插播语音文件。具体而言,本发明具有如下有益效果:
1.本发明在现有的网络电台编码器基础上增加了包括定时器、控制逻辑单元和配置文件的控制单元,使得网络电台能够在播放无线电台节目的过程中插播各种的语音文件,便于网络电台在无线电台节目资源的基础上,根据听众的需要提供节目,增加了网络电台播放节目的灵活性与可控性;同时使得网络电台能够以自身的广告覆盖无线电台,在不影响听众收听无线电台节目的同时,增加了网络电台的广告收入。
2.本发明将语音文件的播放列表写入配置文件中,当网络电台管理维护人员需要改变插播文件及其插播时间时,只需改变配置文件中播放列表的内容即可,便于对网络电台进行维护与管理。
具体实施方式
为使本发明的目的、技术方案更加清楚明白,以下参照附图并举实施例,对本发明做进一步的详细说明。
本发明为一种网络电台插播语音文件的实现方法,其基本思想是:在网络电台编码器中增加控制逻辑单元和配置文件,其中控制逻辑单元在定时器触发信号的作用下,根据当前时间与配置文件中的播放列表,决定编码器是否切换源,并决定编码器是否停止编码操作。
为了达到网络电台插播语音文件的目的,本发明可在现有的网络电台编码器中增加控制逻辑单元、配置文件和定时器。其中,定时器以一定的时间间隔发出触发信号,通知控制逻辑单元到达触发时间;控制逻辑单元接收到触发信号后,根据当前时间与配置文件中播放列表的内容,决定编码器是否停止编码或者是否切换源;配置文件的作用在于:供网络电台管理维护人员预先写入播放列表和定时器发出触发信号的时间间隔。这样,本发明改进后的网络电台编码器既具有对来自于声卡的数字信号流进行编码的功能,又具有插播语音文件的功能。以下为本发明实现网络电台插播语音文件的优选实施例:
本实施例在配置文件中所写入的播放列表包括播放项目、播放时间、插播时间和插播文件。在除去插播时间之外的播放时间中,编码器对信号接收单元的数字信号流进行编码;在插播时间内,编码器切换到对应的插播文件,并以该插播文件为源进行编码;如果配置文件的播放项目中只写入了播放时间而没有插播时间和插播文件,则表示编码器在该段播放时间内只对信号接收器的数字信号流进行编码,而没有进行插播。如表1所示的播放列表,共存在三个播放项目,其中播放项目1和播放项目2中分别插播语音文件1和语音文件2,而在播放项目3中没有进行插播。
播放项目 |
播放时间 |
插播时间 |
插播文件 |
1 |
12:30~14:00 |
13:10~13:20 |
语音文件1 |
2 |
15:30~17:30 |
16:30~16:50 |
语音文件2 |
3 |
19:00~22:00 |
|
|
表1
本实施例中,控制逻辑单元预先从配置文件中获取定时器发出触发信号的时间间隔,并将该时间间隔通知给定时器,然后定时器按照该时间间隔发送触发信号,触发控制逻辑单元继续执行图2所示的流程。
如图2所示,当控制逻辑单元接收到定时器发出的触发信号、确定到达触发时间后,本实施例网络电台实现插播语音文件的方法包括以下步骤:
步骤201~202.控制逻辑单元判断当前时间是否在播放时间内,如果是,则执行步骤203;否则,编码器停止编码,然后结束本实施例网络电台插播语音文件的流程。
控制逻辑部分根据当前时间和配置文件中播放列表的内容进行判断,确定编码器是否应该停止编码。如果当前时间不在配置文件设置的播放时间内,编码器无需对任何源进行编码转换,因此编码器停止编码操作。
步骤203~205.控制逻辑单元判断当前时间是否在插播时间内,如果是,则编码器以对应的插播文件为源进行编码,然后将编码结果发送给流媒体服务器,然后结束本实施例网络电台插播语音文件的流程;否则,编码器以信号接收器的数字信号流为源进行编码,然后将编码结果发送给流媒体服务器,并结束本实施例网络电台插播语音文件的流程。
在编码器以当前时间对应的插播文件为源进行编码、并向流媒体服务器发送编码结果的过程中,如果接收到了定时器发出的触发信号,则控制逻辑单元立即进行中断现场保护,即记录存储当前的各种工作参数,如源、编码位置和编码结果等。然后,编码器停止当前的工作,转而判断编码器与流媒体服务器的连接状况;如果未接收到定时器触发信号,则编码器继续以当前时间对应的插播文件为源进行编码,并将编码结果送给流媒体服务器。
同样,在编码器以信号接收器的数字信号流为源进行编码、并向流媒体服务器发送编码结果的过程中,如果接收到了定时器发出的触发信号,则控制逻辑单元进行终端现场保护后,编码器停止当前的工作,转而执行步骤201;如果未接收到定时器的触发信号,则编码器继续以信号接受部分的数字信号流为源进行编码,并将编码结果送给流媒体服务器。
例如:网络电台管理维护人员在配置文件中设置的定时器发送触发信号的时间间隔为1秒,播放列表与表1中的内容相同,则在使用本发明的方法进行插播语音文件需进行如下操作:
首先,控制逻辑单元读取配置文件,获取到时间间隔和表1的内容,并把时间间隔通知给定时器,定时器按照上述时间间隔发送触发信号;
然后,当控制逻辑单元接收到定时器发出的触发信号,则判断当前时间是否在12:30~14:00、15:30~17:30或者19:00~22:00内。假设当前时间为16:31,则在15:30~17:30时间段内,因此控制逻辑单元继续判断当前时间是否在插播时间13:10~13:20或者16:30~16:50内。由于当前时间在16:30~16:50时间段内,而该插播时间对应的插播文件为语音文件2,因此编码器对语音文件2进行编码,并将编码结果发送给流媒体服务器。
控制逻辑单元在定时器的触发信号再次出现时,重新执行本发明插播语音文件的流程。
当然,定时器发出触发信号的时间间隔与网络电台播放列表还可以分别写入两个不同的配置文件中。
进一步地,使用本实施例改进过的编码器,控制逻辑单元在定时器触发信号的作用下,对编码器与流媒体服务器的连接情况进行检测;当两者的连接中断时,编码器启动重新连接流媒体服务器的操作,则还能够实现网络电台自动流媒体服务器的功能。
由于在网络电台的实际应用中,编码器重连流媒体服务器和插播语音文件的需求均存在,因此可将本发明的编码器重连流媒体服务器的方法和插播语音文件的方法结合使用。下面将对网络电台编码器重连流媒体服务器和插播语音文件的方法进行详细的描述:
由于网络电台的管理维护人员预先将定时器发出触发信号的时间间隔和播放列表写入了配置文件中,因此在实现重连和插播时,编码器的控制逻辑单元从配置文件中获取上述信息,并将时间间隔写入到定时器中,以便定时器确定发出触发信号的频度以及编码器在不同时间的编码源。然后,定时器按照上述时间间隔发送触发信号,通知控制逻辑单元到达触发时间,并触发控制逻辑单元继续执行图3所示的流程。
如图3所示,当控制逻辑单元接收到定时器发出的触发信号、确定到达触发时间后,实现网络电台编码器重连流媒体服务器和插播语音文件的方法包括以下步骤:
步骤301~302.控制逻辑单元判断编码器是否连接到流媒体服务器上,如果是,则执行步骤303;否则,控制逻辑单元调用控制逻辑单元调用Windows Media Encoder应用程序接口函数,连接流媒体服务器,然后结束本实施例重连和插播流程。
在编码器与流媒体服务器的连接中断的情况下,控制逻辑单元自动启动连接流媒体服务器的操作,即通过调用Windows Media Encoder提供的应用程序接口函数,尝试与流媒体服务器建立连接。如:调用IWMEncoder类中pEncoder指针所指向的Start函数与流媒体服务器建立连接。
步骤303~304.控制逻辑单元判断当前时间是否在播放时间内,如果是,则执行步骤305;否则,编码器停止编码,结束本实施例重连和插播流程。
控制逻辑部分根据当前时间和配置文件中播放列表的内容进行判断,确定编码器是否应该停止编码。如果当前时间不在配置文件设置的播放时间内,编码器无需对任何源进行编码转换,因此编码器停止编码操作,并结束本实施例重连和插播流程。
步骤305~307.控制逻辑单元判断当前时间是否在插播时间内,如果是,则编码器以对应的插播文件为源进行编码,然后将编码结果发送给流媒体服务器,并结束本实施例重连和插播流程;否则,编码器以信号接收器的数字信号流为源进行编码,然后将编码结果发送给流媒体服务器,并结束本实施例重连和插播流程。
在编码器以当前时间对应的插播文件为源进行编码、并向流媒体服务器发送编码结果的过程中,如果接收到了定时器发出的触发信号,则控制逻辑单元立即进行中断现场保护,即记录存储当前的各种工作参数,如源、编码位置和编码结果等。然后,编码器停止当前的工作,转而判断编码器与流媒体服务器的连接状况;如果未接收到定时器触发信号,则编码器继续以当前时间对应的插播文件为源进行编码,并将编码结果送给流媒体服务器。
同样,在编码器以信号接收器的数字信号流为源进行编码、并向流媒体服务器发送编码结果的过程中,如果接收到了定时器发出的触发信号,则控制逻辑单元进行终端现场保护后,编码器停止当前的工作,转而执行步骤301;如果未接收到定时器的触发信号,则编码器继续以信号接收部分的数字信号流为源进行编码,并将编码结果送给流媒体服务器。
上述为应用本发明的方法实现网络电台插播语音文件、以及实现网络电台插播语音文件和重连流媒体服务器的优选实施例,下面将对实现本发明所使用的系统进行详细的描述。
本发明使用图1所示的系统实现网络电台插播语音文件,该系统包括信号接收器、编码器、服务器和播放器四个部分。其中,信号接收单元用于将发射塔的广播信号流转换成为数字信号流,再传送给编码器;编码器用于按照网络协议对上述的数字信号流进行编码,转换成流媒体服务器能够识别的信号格式;流媒体服务器用于将经过重新编码的数字信号流传送给网络电台的播放器信号接收器将发射塔的广播信号流转换成为数字信号流,再传送给编码器。编码器按照网络协议对上述的数字信号流进行编码,转换成流媒体服务器能够识别的信号格式;流媒体服务器再将经过重新编码的数字信号流传送给网络电台的播放器。
如图4所示,本发明在图1所示的网络电台编码器中增加了控制逻辑单元、定时器和存储单元。定时器用于按照一定的时间间隔向控制逻辑单元发出触发信号;控制逻辑单元用于接收到触发信号后,根据当前时间与插播时间的关系决定编码单元的源;编码单元在控制逻辑单元的控制下,对当前时间对应的源进行编码,并将编码结果发送给流媒体服务器;存储单元用于存储网络电台管理维护人员预先设置的配置文件,该配置文件中包含定时器发出触发信号的时间间隔以及网络电台的播放列表,其中播放列表为表1中所示的播放时间、插播时间、对应的插播文件等内容;或者在定时器发出触发信号的时间间隔与网络电台播放列表分别写入两个配置文件中时,存储单元用于存储上述两个配置文件。
改进后的编码器在工作时,控制逻辑单元从存储单元的配置文件中获取定时器发出触发信号的时间间隔和播放列表,并将该时间间隔通知给定时器;定时器按照上述时间间隔向控制逻辑单元发送触发信号;控制逻辑单元接收到触发信号后,根据当前时间和播放列表的内容决定编码单元是否切换源或者停止编码。如果当前时间在播放列表中的播放时间内,则控制逻辑单元判断当前时间是否在插播时间内,如果是,则控制单元通知编码单元以播放列表中当前时间所对应的插播文件为源进行编码,并将编码结果发送给流媒体服务器,否则,控制单元通知编码单元以信号接收器的数字信号流为源进行编码,并将编码结果发送给流媒体服务器;如果当前之间不在播放列表的播放时间内,则控制逻辑单元通知编码单元停止编码。
使用上述系统还能够同时实现网络电台插播语音文件和编码器重连流媒体服务器。当控制逻辑单元接收到定时器发出的触发信号后,首先检测编码器与流媒体的连接情况,如果编码器与流媒体服务器保持了连接,则控制逻辑单元根据播放列表的内容向编码单元发出切换源或者停止编码的控制信号,上述过程与利用本系统实现网络电台插播语音文件的操作相同;如果编码器与流媒体服务器的连接中断,则控制逻辑单元自动启动连接流媒体服务器的操作
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。