exoplayer - ExoPlayer seekto函数不寻找到指定点而是从0开始
问题描述
我正在为 Radio 流媒体应用程序开发 ExoPlayer 2.6.0。收音机正在播放很好,但是当我尝试添加 seekTo +/- 30 秒时,它总是从 0 开始流式传输。在调试模式下,播放器搜索到 +30 秒,但一旦设置 setPlayWhenReady() 它就会返回从0开始。我一直在寻找这个解决方案已经很长时间了,所以决定在这里问。任何帮助将不胜感激。
以下是我用于 seekto 操作的代码。
ivForward.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
if (exoPlayer != null && Constants.isMediaPlaying) {
exoPlayer.setPlayWhenReady(false);
Constants.isMediaPlaying = false;
long bufferPosition = exoPlayer.getBufferedPosition();
long currentPosition = exoPlayer.getCurrentPosition();
if ((currentPosition + 30000) < bufferPosition + 50) {
exoPlayer.setPlayWhenReady(false);
Constants.isMediaPlaying = false;
exoPlayer.seekTo(exoPlayer.getCurrentWindowIndex(), currentPosition + 30000);
exoPlayer.setPlayWhenReady(true);
Constants.isMediaPlaying = true;
}
}
} catch (Exception e) {
MakeToast.show("Error moving forward");
}
}
});
谢谢
解决方案
推荐阅读
- jquery - 如何获取文本数据
一些文字
- java - 使用来自 maven 的内联 jar 文件构建 osgi 包
- java - JRCsvExporter、JRCsvExporterParameter 已弃用和新替换示例
- java - 将行导出到 Excel 时如何替换默认的 jtable 列值 - Java
- sharepoint - 在 Sharepoint 2013 中发送 30 天电子邮件提醒
- swift - 从错误的线程访问的快速领域
- c# - 在测试中使用两个以上模拟时出现异常
- c# - 在遍历数组后尝试从列表中获取随机元素时,ArgumentOutOfRangeException 错误 Unity3D C#
- python - Excel 文件和 Python 中的数据
- angular - 为动态创建的 HTML 元素创建事件监听器