ksvc / KSYMediaPlayer_Android

金山云Android播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds),supporting jitter control,software&hardware decode
http://v.ksyun.com/
Apache License 2.0
853 stars 246 forks source link

onBufferingUpdate 没有回调 #225

Open bansonsour opened 6 years ago

bansonsour commented 6 years ago

新版本的onBufferingUpdate接口没有正常回调

dengchu817 commented 6 years ago

@bansonsour 是一直没有回调吗,还是回调数据不对

bansonsour commented 6 years ago

@dengchu817 不是,有时候是没有回调,有时候是回调重复100,然后有时候回调是从0-100%

bansonsour commented 6 years ago

@dengchu817 新版本的这个接口改动过吗?之前用的1.90的版本是正常回调0-100%后,100%才多次重复回调的,现在这版本试了一下,好像是有问题的

dengchu817 commented 6 years ago

这个接口是在新版本加进去的,之前的版本是有问题的。这个回调的值是缓冲进度,等于已经缓存的数据/开播域值,没有回调说明没有读到数据。你有回调的日志吗,关于这个回调值的变化情况

bansonsour commented 6 years ago

这就奇怪了哦,之前我是用这个接口做缓冲进度的回调的,就是UI上的SecondProgress,它能正常回调,而且也没有发现有什么问题,难道之前回调的是不正常的数据? @dengchu817

dengchu817 commented 6 years ago

之前版本是有问题的,你可以把之前版本的回调值和新版本的回调值对比一下

bansonsour commented 6 years ago

新版本的起播的时候,这接口是没有回调,只有在seek后才有回调,但旧版本起播的时候是有的!而且旧版本好像是回调整个缓冲进度的。不知我的理解是否正确! @dengchu817

bansonsour commented 6 years ago

请问一下新的版本,如果UI上想要显示加载的进度(不是seek后的转菊花的那个进度,而是起播后整个缓冲的进度),请问现在是什么接口回调的? @dengchu817

dengchu817 commented 6 years ago

(1)你说的起播后整个缓冲的进度是指,已经下载的数据时长/总时长 吗? (2)2.1.2之前的版本的回调值也不是整个缓冲进度。 (3)播放器会将播放完的数据都释放掉,所以下载的数据时长对于播放器来说根本没有意义,你要播放current postion之前数据都需要重新下载。 (4)2.1.2之后的版本的缓存进度,表示当网络不好时,播放器进入暂停状态到下次开播的一个进度情况,你说的第一次没有回调我们看一下

bansonsour commented 6 years ago

1.是的,就是安卓原生的播放器接口回调,它也有缓冲的进度,场景:在线视频如果播放的时候,它能缓冲数据,这时候断开网络还能继续播放的(已缓冲的时间段,快手APP播放的时候也有一个缓冲的进度),这应该是缓冲好的数据吧! 2.但之前的版本(1.9.0)确实是用了这个接口回调的进度去显示当前的缓冲(整个的,和快手App的那个缓冲进度的效果是一样的) 3.播放完删除这个能理解,也应该是正常的操作 4.现在我理解新版本的这个接口的回调是缓冲某一个数据片段的进度,对吗? @dengchu817

dengchu817 commented 6 years ago

对,就是缓冲某一个数据片段的进度。你说的整个缓冲进度应该是https://github.com/ksvc/ksyhttpcache_android 仓库做的事

bansonsour commented 6 years ago

OK,我看下这个!! 4.第一次起播的时候没有回调,这个你们看一下是不是有问题!!谢谢!! @dengchu817

bansonsour commented 6 years ago

请问一下有查过这个问题了吗?.第一次起播的时候没有回调? @dengchu817

dengchu817 commented 6 years ago

嗯,已经修复了,下个版本2.2.1合进去

bansonsour commented 6 years ago

@dengchu817 好的,谢谢!

Vashon commented 6 years ago

@dengchu817 你好,我用的是2.2.1版本,这个版本的 onBufferingUpdate 的调用是有问题的。我想实现的是这个功能 https://github.com/ksvc/KSYMediaPlayer_Android/wiki/BasicInformation#%E8%8E%B7%E5%8F%96%E5%8F%AF%E6%92%AD%E6%94%BE%E6%97%B6%E9%95%BF , 但是当前版本的 onBufferingUpdate 是在我 seek 之后调用,回调传过来的进度是当前数据加载进度,跟你们 wiki 上面写的不一样,也跟安卓原生的 MediaPlayer 接口不一样。