返回信息流一个切片视频是2秒,现在想在android里实现无缝播放一整段视频,有什么好的方法么?
我试过用MediaPlayer里的setNextPlayer方法,发现不行啊。。
然后测试,好像是setDisplay那里有问题,如果两个mediaplayer的display为同一个surfaceview的话,就没法播放了啊。。。。。
不知道是我没有用对,还是什么原因,大神们,,有更好的方法吗?
mediaplayer_1.reset();
mediaplayer_1.setDataSource(Environment.getExternalStorageDirectory()
.getAbsolutePath()+Download.filepath+"segment2.mp4");
mediaplayer_1.setDisplay(surfaceview.getHolder());
mediaplayer_1.prepare();
mediaplayer.reset();
mediaplayer.setDataSource(path);
mediaplayer.setDisplay(surfaceview.getHolder());
mediaplayer.prepare();// 进行缓冲处理
mediaplayer.setOnPreparedListener(new OnPreparedListener(){
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.start();
isPlayerSet=true;
mediaplayer.setNextMediaPlayer(mediaplayer_1);
}
});
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #22359同步于 2015/5/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
MediaPlayer无缝播放切片视频
kuangfengwin
2015/5/18镜像同步15 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
没用过这个MediaPlayer,,,也许你可以试试三方库?比如https://www.vitamio.org/
【 在 kuangfengwin 的大作中提到: 】
: @dss886 大神
恩好。。谢谢,我看看
【 在 dss886 的大作中提到: 】
: 没用过这个MediaPlayer,,,也许你可以试试三方库?比如https://www.vitamio.org/
:
Android想要做到完全的无缝播放我觉得可能性不大,prepare是需要时间的。你可以监听OnCompleteListener,第一段播放完成后才prepare下一段然后播放。
现在就是这样,但是延迟太大了。。
API 16之后加了一个setNextMediaPlayer的函数,据说是可以无缝播放。。。
但我用不出来。。。
【 在 lixing 的大作中提到: 】
: Android想要做到完全的无缝播放我觉得可能性不大,prepare是需要时间的。你可以监听OnCompleteListener,第一段播放完成后才prepare下一段然后播放。
【 在 kuangfengwin 的大作中提到: 】
: 现在就是这样,但是延迟太大了。。
: API 16之后加了一个setNextMediaPlayer的函数,据说是可以无缝播放。。。
: 但我用不出来。。。
这个我还真没试过,等我下次去实验室试验一番。
恩可以啊,但是Mediaplayer自己有个prepare的过程,
【 在 zishi 的大作中提到: 】
: 可以自己做缓存吧~~还没播放完,就去下载下一个视频~~
恩,播视频其实可以直接用videoview~~或者用第三方库吧~~没播放一段视频关闭,然后在prepare,start这样肯定不是好的方法,你可以想方法绕开这些,播放下一段视频的时候不再需要关闭Mediaplayer,而是继续播放~~
【 在 kuangfengwin 的大作中提到: 】
: 恩可以啊,但是Mediaplayer自己有个prepare的过程,