时间戳校对方案
更新时间: 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();
此文档是否对你有帮助?