直播
Android
产品介绍
简介
主要功能
产品优势
应用场景
使用限制
快速开始
推流端SDK
概述
更新日志
集成SDK
开发指南
实现流程
进阶功能
API 参考
错误码
播放器SDK
播放器产品简介
更新日志
下载 SDK 和示例代码
跑通示例项目
集成SDK
开发指南
实现播放功能
播放器相关回调
播放控制
时间戳校对方案
拉流地址预调度
音视频数据回调
API 参考
最佳实践
OBS推流使用指南
常见问题
服务协议

时间戳校对方案

更新时间: 2021/11/04 13:58:32

真实时间戳方案

真实时间戳方案包括查询真实时间戳和监听真实时间戳。

API原型

    /**
     * 获取正在播放的时间戳
     *
     * @return
     */
    public abstract long getCurrentRealTime();

    /**
     * 设置当前正在播放的时间戳回调
     * 支持软件解码和硬件解码时回调,支持纯音频、音视频文件时回调,建议优先使用 setOnCurrentSyncTimestampListener 回调时间戳
     *
     * @param interval 回调的时间间隔(单位:毫秒 ms)
     * @param listener 时间戳回调
     * @return
     */
    public abstract void setOnCurrentRealTimeListener(long interval, OnCurrentRealTimeListener listener);

参数说明

参数 类型 说明
interval long 回调的时间间隔(单位:毫秒 ms)
listener OnCurrentRealTimeListener 时间戳回调

示例


    long realtime =  mLivePlayer.getCurrentRealTime();

    mLivePlayer.setOnCurrentRealTimeListener(mIntervalTime, mOnCurrentRealTimeListener);
    private NELivePlayer.OnCurrentRealTimeListener mOnCurrentRealTimeListener = new NELivePlayer.OnCurrentRealTimeListener() {
        @Override
        public void onCurrentRealTime(long realTime) {
            LogUtil.i(TAG, "OnCurrentRealTimeListener,onCurrentRealTime:" + realTime);
        }
    };

同步时间戳方案

同步时间戳方案包括开启同步时间戳、同步内容信息回调、查询同步时间戳和监听同步时间戳。

API原型

    /**
     * 设置是否开启同步时间戳、同步内容信息回调
     * 如果使用同步时间戳、同步内容信息回调相关功能,需要先打开该开关
     *  {@link NELivePlayer#setOnCurrentSyncContentListener}
     *  {@link NELivePlayer#getCurrentSyncTimestamp}
     *  {@link NELivePlayer#setOnCurrentSyncTimestampListener}
     * @return 是否设置成功
     */
    public abstract boolean setSyncOpen(boolean isOpen);
    /**
     * 获取正在播放的时间戳
     *
     * @return
     */
    public abstract long getCurrentSyncTimestamp();

    /**
     * 设置当前正在播放的时间戳回调
     * 支持软件解码时回调,支持音视频文件,支持软件解码和硬件解码时回调,不支持纯音频文件时回调
     *
     * @param interval 回调的时间间隔(单位:毫秒 ms)
     * @param listener 时间戳回调
     * @return
     */
    public abstract void setOnCurrentSyncTimestampListener(long interval, OnCurrentSyncTimestampListener listener);

参数说明

参数 类型 说明
interval long 回调的时间间隔(单位:毫秒 ms)
listener OnCurrentSyncTimestampListener 同步时间戳回调

示例

    private NELivePlayer.OnCurrentSyncTimestampListener mOnCurrentSyncTimestampListener = new NELivePlayer.OnCurrentSyncTimestampListener() {
        @Override
        public void onCurrentSyncTimestamp(long timestamp) {
            LogUtil.i(TAG, "OnCurrentSyncTimestampListener,onCurrentSyncTimestamp:" + timestamp);

        }
    };    
    mLivePlayer.setSyncOpen(true);
    mLivePlayer.setOnCurrentSyncTimestampListener(mIntervalTime, mOnCurrentSyncTimestampListener);
    long synctime =  mLivePlayer.getCurrentSyncTimestamp();

此文档是否对你有帮助?
有帮助
我要吐槽
  • 真实时间戳方案
  • API原型
  • 参数说明
  • 示例
  • 同步时间戳方案
  • API原型
  • 参数说明
  • 示例