HarmonyOS 鸿蒙Next avPlayer.seek定位不准确

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next avPlayer.seek定位不准确 比较烦恼的问题,比如在状态回调里设定从15秒处开始播放,但是无效,还是从0秒处播放。拖动滑块设定进度也不准。

case 'prepared':
  logger.info('AVPlayerDemo AVPlayer state prepared called.');
  this.durationTime = Math.floor(avPlayer.duration / 1000);
  this.durationTimeString = TimeUtil.secondToTime(this.durationTime);
  avPlayer.loop = false;
  avPlayer.setSpeed(media.PlaybackSpeed.SPEED_FORWARD_1_00_X)
  avPlayer.seek(15, media.SeekMode.SEEK_CLOSEST)
  //avPlayer.play()
  break;
case 'completed':
  logger.info('AVPlayerDemo AVPlayer state completed called.');
  avPlayer.seek(15, media.SeekMode.SEEK_CLOSEST)
  break;

更多关于HarmonyOS 鸿蒙Next avPlayer.seek定位不准确的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

avPlayer.seek第一个参数timeMs 单位是毫秒,改成15000试试。

更多关于HarmonyOS 鸿蒙Next avPlayer.seek定位不准确的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS(鸿蒙)系统中Next avPlayer的seek定位不准确问题,可能的原因及解决方法如下:

  1. 时间戳精度问题:

    • 鸿蒙系统中的时间戳处理可能与传统Android或iOS有所不同,导致seek操作时的精度受到影响。检查seek方法传入的时间戳是否精确到足够小的单位(如毫秒),并尝试调整以匹配系统的处理精度。
  2. 媒体文件编码问题:

    • 某些媒体文件的编码格式可能不支持精确的seek操作。尝试使用不同编码格式的文件,看是否能改善定位准确性。
  3. 缓存影响:

    • 如果avPlayer在播放过程中进行了缓存,seek操作可能会受到缓存数据的影响。尝试在seek前清空缓存或等待缓存完成后再进行定位。
  4. 系统Bug:

    • 鸿蒙系统的某些版本可能存在seek相关的Bug。检查当前系统版本是否为最新,并关注华为发布的更新说明,看是否已修复相关问题。
  5. 硬件兼容性:

    • 不同硬件设备对媒体播放的支持程度可能不同,导致seek定位不准确。尝试在多种硬件设备上测试,以确定是否为设备兼容性问题。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部