1.一種去除流媒體播放器時延累積的方法,其特征在于,包括:
對接收的音頻數據和視頻數據進行解碼;
確定解碼后的音頻數據的播放時間長度大于預設播放時間長度,對解碼后的音頻數據進行裁剪,使裁剪后的音頻數據的播放時間長度等于所述預設播放時間長度,所述預設播放時間長度與流媒體播放器的最小時延相同;
根據視頻數據跟隨音頻數據播放的同步播放原則,播放裁剪后的音頻數據和解碼后的視頻數據。
2.根據權利要求1所述的方法,其特征在于,所述根據視頻數據跟隨音頻數據播放的同步播放原則,播放裁剪后的音頻數據和解碼后的視頻數據,包括:
播放裁剪后的音頻數據,增加解碼后的視頻數據的播放速度直到處于同一播放時間點的視頻數據與音頻數據同步播放。
3.根據權利要求1或2所述的方法,其特征在于,所述對接收的音頻數據和視頻數據進行解碼之前,還包括:
將接收的音頻數據和視頻數據分別組成音頻幀和視頻幀,并分別計算每一音頻幀和每一視頻幀的播放時間點;
將所述音頻幀按照播放時間點依次放入音頻緩沖隊列中,將所述視頻幀按照播放時間點依次放入視頻緩沖隊列中;
所述對接收的音頻數據和視頻數據進行解碼,包括:
對所述音頻緩沖隊列中的音頻幀和視頻緩沖隊列中的視頻幀進行解碼,并獲取每一音頻幀和每一視頻幀的播放時間點。
4.根據權利要求3所述的方法,其特征在于,所述確定解碼后的音頻數據的播放時間長度大于預設播放時間長度,包括:
確定解碼后的音頻緩沖隊列的播放時間長度大于預設播放時間長度;
所述對解碼后的音頻數據進行裁剪,使裁剪后的音頻數據的播放時間長度等于所述預設播放時間長度,包括:
裁剪掉所述音頻緩沖隊列中播放時間點靠前的音頻幀,使裁剪后的音頻緩沖隊列的播放時間長度等于所述預設播放時間長度;
所述播放裁剪后的音頻數據,增加解碼后的視頻數據的播放速度直到處 于同一播放時間點的視頻數據與音頻數據同步播放,包括:
播放裁剪后的音頻緩沖隊列,增加解碼后的視頻緩沖隊列的播放速度直到處于同一播放時間點的視頻幀與音頻幀同步播放。
5.根據權利要求4所述的方法,其特征在于,所述確定解碼后的音頻緩沖隊列的播放時間長度大于預設播放時間長度,包括:
按照預設時間周期性確定解碼后的音頻緩沖隊列的播放時間長度大于預設播放時間長度。
6.一種流媒體播放器,其特征在于,包括:
音頻接收模塊,用于接收音頻數據;
視頻接收模塊,用于接收視頻數據;
音頻解碼器,用于對接收的音頻數據進行解碼;
視頻解碼器,用于對接收的視頻數據進行解碼;
處理模塊,用于確定解碼后的音頻數據的播放時間長度大于預設播放時間長度,對解碼后的音頻數據進行裁剪,使裁剪后的音頻數據的播放時間長度等于所述預設播放時間長度,所述預設播放時間長度與流媒體播放器的最小時延相同;
播放模塊,用于根據視頻數據跟隨音頻數據播放的同步播放原則,播放裁剪后的音頻數據和解碼后的視頻數據。
7.根據權利要求6所述的流媒體播放器,其特征在于,所述播放模塊具體用于:
播放裁剪后的音頻數據,增加解碼后的視頻數據的播放速度直到處于同一播放時間點的視頻數據與音頻數據同步播放。
8.根據權利要求6或7所述的流媒體播放器,其特征在于,所述音頻接收模塊用于:將接收的音頻數據組成音頻幀,并計算每一音頻幀的播放時間點,將所述音頻幀按照播放時間點依次放入音頻緩沖隊列中;
所述視頻接收模塊用于:將接收的視頻數據組成視頻幀,并計算每一視頻幀的播放時間點,將所述視頻幀按照播放時間點依次放入視頻緩沖隊列中;
所述音頻解碼器具體用于:對所述音頻緩沖隊列中的音頻幀進行解碼,并獲取每一音頻幀的播放時間點;
所述視頻解碼器具體用于:對所述視頻緩沖隊列中的視頻幀進行解碼, 并獲取每一視頻幀的播放時間點。
9.根據權利要求8所述的流媒體播放器,其特征在于,所述處理模塊用于:
確定解碼后的音頻緩沖隊列的播放時間長度大于預設播放時間長度,裁剪掉所述音頻緩沖隊列中播放時間點靠前的音頻幀,使裁剪后的音頻緩沖隊列的播放時間長度等于所述預設播放時間長度;
所述播放模塊用于:播放裁剪后的音頻緩沖隊列,增加解碼后的視頻緩沖隊列的播放速度直到處于同一播放時間點的視頻幀與音頻幀同步播放。
10.根據權利要求9所述的流媒體播放器,其特征在于,所述處理模塊具體用于:
按照預設時間周期性確定解碼后的音頻緩沖隊列的播放時間長度大于預設播放時間長度。