首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android MediaPlayer seekTo没有找对位置

Android MediaPlayer是Android平台上用于播放音频和视频的类。seekTo()方法是MediaPlayer类中的一个方法,用于将媒体播放器定位到指定的时间位置。

在使用seekTo()方法时,需要传入一个时间参数,表示要定位到的位置。该参数的单位是毫秒,表示从媒体的起始位置开始计算的时间偏移量。

如果在使用seekTo()方法时没有找到正确的位置,可能是由于以下几个原因:

  1. 时间参数超出了媒体的时长范围:如果传入的时间参数大于媒体的总时长,媒体播放器将无法定位到该位置。可以通过获取媒体的总时长(getDuration()方法)来确保传入的时间参数不超过媒体的时长范围。
  2. 媒体尚未准备好:如果在调用seekTo()方法之前,媒体尚未准备好播放,媒体播放器将无法定位到指定位置。可以通过设置MediaPlayer的准备监听器(setOnPreparedListener()方法)来确保媒体已经准备好播放。
  3. 媒体格式不支持定位:某些媒体格式可能不支持精确的定位操作。在这种情况下,seekTo()方法可能无法准确地定位到指定的位置。

为了解决这个问题,可以尝试以下方法:

  1. 确保传入的时间参数不超过媒体的总时长,可以通过getDuration()方法获取媒体的总时长,并进行适当的范围检查。
  2. 在调用seekTo()方法之前,确保媒体已经准备好播放,可以通过设置准备监听器来监听媒体的准备状态。
  3. 如果媒体格式不支持精确的定位操作,可以尝试使用其他方法或库来实现更精确的定位需求。

腾讯云相关产品和产品介绍链接地址:

请注意,以上答案仅供参考,具体的解决方法可能需要根据具体情况进行调试和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android MediaPlayer 播放音频的方式

主要介绍使用MediaPlayer播放音频的方式。关于MediaPlayer的基础知识,比如状态,可以参考Android MediaPlayer 基础简介。...mediaPlayer.stop(); 调进度 – seekTo 调整播放进度。我们平时使用音乐播放软件一般都会有这个功能。 seekTo方法接受一个毫秒参数。...int targetMS = (int) (percent * mediaPlayer.getDuration()); mediaPlayer.seekTo(targetMS); seekTo并不会改变...总结 以上所述是小编给大家介绍的Android MediaPlayer 播放音频的方式,希望大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。...在此也非常感谢大家ZaLou.Cn网站的支持! 如果你觉得本文你有帮助,欢迎转载,烦请注明出处,谢谢!

3.1K42

2016级移动应用开发在线测试14-MediaPlayer

AndroidMediaPlayer类之地播放不同位置存放的多媒体资源,但不包括以下哪种()   您的回答为:数据库资源,来自SQLiteDatabase的数据    ()外部URL,以流的方式提供...()reset 重置MediaPlayer对象为刚刚创建的状态 ()seekTo 指定播放的位置(以毫秒为单位的时间) ()setAudioStreamType 设置流媒体的类型 ()setDataSource...如果播放完毕,而又设置了循环播放,则MediaPlayer仍然会处于Started状态,类似的,如果在该状态下MediaPlayer调用了seekTo()或者start()方法均可以让MediaPlayer...MediaPlayer的播放,转到Started状态,暂停状态时可以调用seekTo()方法,这是不会改变状态的。...此时可以调用start()方法重新从头播放文件,也可以stop()停止MediaPlayer,或者也可以seekTo()来重新定位播放位置

79530
领券