i want to see more logs, but i only got two lines:
09-08 16:26:33.694 8336-8399/tv.danmaku.ijk.media.sample E/IJKMEDIA﹕ Stream ends prematurely at 1091450, should be 4707275
09-08 16:26:33.837 8336-8399/tv.danmaku.ijk.media.sample E/IJKMEDIA﹕ av_read_frame error: fffffffb(�,�,�,�): unknown
i dont konw how to fixed it,
can you help me?
ijkMediaPlayer.native_setLogLevel(IjkMediaPlayer.IJK_LOG_DEBUG);
@Android4MediaPlayer
THKS,
but i still can't resolve the problem:
Stream ends prematurely at 1091450, should be 4707275
any suggestion?
give me the url,I try to see it
it works well on ios
but always be Interrupted on Android
it works well on my android device.
er。。。
it depends,some devices work well,some not
打英文好累。。。魅族问题比较大,到4分钟左右一定会断,小米偶尔断,三星的偶尔断
09-10 13:53:22.318 9580-9580/tv.danmaku.ijk.media.sample E/tv.danmaku.ijk.media.player.IjkMediaPlayer﹕ Buffer (23%) 277743/1176764
09-10 13:53:22.320 9580-9580/tv.danmaku.ijk.media.sample D/tv.danmaku.ijk.media.player.IjkMediaPlayer﹕ duration4296144060
09-10 13:53:22.871 9580-9720/tv.danmaku.ijk.media.sample D/IJKMEDIA﹕ audio cache=%2859 (142262/5000) (1048299/262144)
09-10 13:53:22.871 9580-9720/tv.danmaku.ijk.media.sample D/IJKMEDIA﹕ time cache=%2859 (142262/5000)
09-10 13:53:22.871 9580-9720/tv.danmaku.ijk.media.sample D/IJKMEDIA﹕ size cache=%402 (1048299/262144)
09-10 13:53:22.872 9580-9580/tv.danmaku.ijk.media.sample E/tv.danmaku.ijk.media.player.IjkMediaPlayer﹕ Buffer (23%) 278300/1176764
09-10 13:53:22.872 9580-9580/tv.danmaku.ijk.media.sample D/tv.danmaku.ijk.media.player.IjkMediaPlayer﹕ duration4296144060
09-10 13:53:23.436 9580-9720/tv.danmaku.ijk.media.sample D/IJKMEDIA﹕ audio cache=%2860 (142288/5000) (1048492/262144)
09-10 13:53:23.436 9580-9720/tv.danmaku.ijk.media.sample D/IJKMEDIA﹕ time cache=%2860 (142288/5000)
09-10 13:53:23.436 9580-9720/tv.danmaku.ijk.media.sample D/IJKMEDIA﹕ size cache=%402 (1048492/262144)
09-10 13:53:23.437 9580-9580/tv.danmaku.ijk.media.sample E/tv.danmaku.ijk.media.player.IjkMediaPlayer﹕ Buffer (23%) 278891/1176764
09-10 13:53:23.437 9580-9580/tv.danmaku.ijk.media.sample D/tv.danmaku.ijk.media.player.I
--------- beginning of /dev/log/system
09-10 13:57:17.890 9580-9720/tv.danmaku.ijk.media.sample E/IJKMEDIA﹕ av_read_frame error: fffffffb(�,�,�,�): unknown
I'll keep on doing it.
THKS anyway
我用魅族3(M351) 测试也没有问题啊 网络问题吗
@hwpo
@Android4MediaPlayer 不是网络问题,用mx4每次播放到4分钟左右的时候一定会断掉,然后报错,小米2s也会断,但是时间不固定
问题解决了,服务端主动断开了TCP连接,但是客户端没有去重连
http.c
read_ret = http_buf_read(h, buf, size);
if (read_ret < 0 && s->reconnect && !h->is_streamed && s->filesize > 0 && s->off < s->filesize) {
av_log(h, AV_LOG_ERROR, "Will reconnect at %"PRId64".\n", s->off);
seek_ret = http_seek_internal(h, s->off, SEEK_SET, 1);
if (seek_ret != s->off) {
av_log(h, AV_LOG_ERROR, "Failed to reconnect at %"PRId64".\n", s->off);
return read_ret;
}
read_ret = http_buf_read(h, buf, size);
}
这段代码没有走,是因为没有设置reconnect,默认值为0,所以不会走这段代码。
设置方法如下:
ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "reconnect", 1);
这个我是设置了的
所以不会~
@Android4MediaPlayer demo里面没有设置。。。蛋疼了我一周。。。
查到问题就好~ 可以关闭问题了
设置了,拔掉网线然后马上插上,视频还是不能续播
Most helpful comment
问题解决了,服务端主动断开了TCP连接,但是客户端没有去重连
http.c
read_ret = http_buf_read(h, buf, size);
if (read_ret < 0 && s->reconnect && !h->is_streamed && s->filesize > 0 && s->off < s->filesize) {
av_log(h, AV_LOG_ERROR, "Will reconnect at %"PRId64".\n", s->off);
seek_ret = http_seek_internal(h, s->off, SEEK_SET, 1);
if (seek_ret != s->off) {
av_log(h, AV_LOG_ERROR, "Failed to reconnect at %"PRId64".\n", s->off);
return read_ret;
}
read_ret = http_buf_read(h, buf, size);
}
这段代码没有走,是因为没有设置reconnect,默认值为0,所以不会走这段代码。
设置方法如下:
ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "reconnect", 1);