美文网首页
android学习音频拉流 opensL es播放音频流 。音视

android学习音频拉流 opensL es播放音频流 。音视

作者: 赖益文 | 来源:发表于2021-04-14 15:14 被阅读0次

    1音频播放的几种方式。。。。

    2.opensL es播放

    3.播放的过程。

    4.音视频同步。。

    不能通过帧率实现音视频同步,用timebase 。

    avRatation  num/den 。。

    正常的视频延时就是  framedelay =1/tps.

    stream->timebase;需要以音频为参考。

    clock记录想对音频的时间线。。

    clock=frame—》tps 。显示事件事件戳。。然后再*一个timebase。。

    video去拿到audio中的clock  同时计算出video的clock 

    计算clockdiff。。

    如果clock-audioclock 大于0,这说明视频超前了。。视频比音频块。。

    休眠事件av_usleep (1/ftp+clockdiff). 注意时间是微秒。

    将解码的事件算进去。因为差点的手机。解码时间需要多一些。

    同步的延时就是delay=framedelay+解码时间。frame->repeat_dict /(2*tps)就是解压时间。

    如果是 if(diff>1) name就是要 av_usleep(delay*2*1000000)

    如果可控的就是  av_usleep(delay*1000000)

    如果小于0.也就是说明音频超前。音频比视频快了。。。。最快的方法是不休眠。。。

    diff>1 就是太恐怖。。就是不休眠。

    如果diff>0.05 就丢帧,减少延时时间。。

    相关文章

      网友评论

          本文标题:android学习音频拉流 opensL es播放音频流 。音视

          本文链接:https://www.haomeiwen.com/subject/vmkklltx.html