输入关键词搜索,支持 AI 答疑

时间戳校对方案

更新时间: 2024/08/07 10:23:29

真实时间戳方案

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

API原型

java    /**
     * 获取正在播放的时间戳
     *
     * @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 时间戳回调

示例

java
    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原型

java    /**
     * 设置是否开启同步时间戳、同步内容信息回调
     * 如果使用同步时间戳、同步内容信息回调相关功能,需要先打开该开关
     *  {@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 同步时间戳回调

示例

java    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原型
  • 参数说明
  • 示例