大佬教程收集整理的这篇文章主要介绍了android – 与mediaplayer和seekTo的奇怪行为,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在实现自定义视频播放器,因为我需要自定义视频控件.我有一个只有一个活动的应用程序,在启动时应立即开始播放视频.
现在,问题是:
我不希望视频从头开始,而是从后面的位置开始.所以我做了一个寻求(16867).由于seekTo是异步的,我将mediaplayer(player.start())的start调用放在onSeekCompleteListener的onSeekComplete中.
我经历的一个奇怪的行为是,我可以看到/听到视频从一开始播放几毫秒才实际播放/跳到我寻找的位置.
但是 – 另一方面 – 我在PLayer.start之前调用的Log输出返回正确的位置16867,我寻求的位置.
下面是相关的代码部分,完整的类是http://pastebin.com/jqAAFsuX
(我在Nexus One / 2.2 StageFright上)
private void playVideo(String url) {
try {
btnVideoPause.setEnabled(false);
if (player==null) {
player=new MediaPlayer();
player.setScreenOnWhilePlaying(true);
}
else {
player.stop();
player.reset();
}
url = "/sdcard/myapp/main/videos/main.mp4"; // <--- just="" for="" test="" purposes="" hardcoded="" here="">--->Now
player.setDatasource(url);
player.setDisplay(holder);
player.setAudioStreamType(Au@L_580_13@manager.STREAM_MUSIC);
player.setOnCompletionListener(this);
player.setOnPreparedListener(this);
player.setOnSeekCompleteListener(new MediaPlayer.onSeekCompleteListener() {
public void onSeekComplete(MediaPlayer mediaPlayer) {
Log.d("APP","current pos... "+ player.getCurrentPosition() );
player.start(); // <------------------ start="" video="" on="" seek="" completed="" player.setonseekcompletelistener(null);="" }="" });="" player.prepareasync();="" }="" catch="" (throwable="" t)="" {="" log.e(tag,"exception="" in="" btnvideopause="" prep",t);="" }="" }="" public="" void="" onprepared(mediaplayer="" mediaplayer)="" {="" width="player.getVideoWidth();" height="player.getVideoHeight();" if="" (width!="0" &&="" height!="0)" {="" holder.setfixedsize(width,height);="" progressbar.setprogress(0);="" progressbar.setmax(player.getduration());="" player.seekto(16867);="">@H_618_20@<------------------ seeking="" to="" position="" }="" btnvideopause.setenabled(true);="" }="">@H_618_20@
以上是大佬教程为你收集整理的android – 与mediaplayer和seekTo的奇怪行为全部内容,希望文章能够帮你解决android – 与mediaplayer和seekTo的奇怪行为所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。