HarmonyOS OH_AudioStream_Result OH_AudioRenderer_GetTimestamp(OH_AudioRenderer* renderer, clockid_t clockId, int64_t* framePosition, int64_t* timestamp);和 GetLatency(uint64_t &latency)的区别是什么?
调用OH_AudioRenderer_GetTimestamp获取到的framePosition和timestamp如何计算当前PCM数据的时延?用于计算音画同步。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS OH_AudioRenderer_GetTimestamp的问题
367浏览 • 1回复 待解决
HarmonyOS 关于OH_AudioRenderer的问题
618浏览 • 1回复 待解决
HarmonyOS OH_AudioRenderer问题
262浏览 • 1回复 待解决
本地如何存储Array<T>
381浏览 • 1回复 待解决
HarmonyOS 中OH_AudioRenderer 释放时,和写数据的回调函数怎样处理同步
438浏览 • 1回复 待解决
clazz: new (...args: any[]) => T 无法使用
431浏览 • 1回复 待解决
hb build -T单独编译,应如何编译
4233浏览 • 1回复 待解决
OHaudio模块回调函数OH_AudioRenderer_OnStreamEvent不生效
2217浏览 • 1回复 待解决
HarmonyOS ArkTS支持子组件接受泛型T吗
302浏览 • 1回复 待解决
荣耀play4t PRO什么时候内侧啊
5294浏览 • 2回复 待解决
HarmonyOS 编译报错 'xxx' can't support crossplatform application
195浏览 • 1回复 待解决
HarmonyOS 如何存储dataArray: T[]数组数据到本地
366浏览 • 1回复 待解决
HarmonyOS base64有方法可以返回Int8Array格式嘛?
467浏览 • 1回复 待解决
代码IDE提示编译报错:Type 'TextTest' is not assignable to type 'ITest<T>'.
1232浏览 • 1回复 待解决
HarmonyOS OH_AVCodecOnError的错误码有哪些,分别是什么含义
290浏览 • 1回复 待解决
调试模式下 报Cause: Can't find any .so file in current module Solution
2131浏览 • 1回复 待解决
arkts ArrayList好像没有get(index: number): T 。怎么通过index拿元素呢?
2104浏览 • 1回复 待解决
HarmonyOS 如何解析base64为字节数组int8Array
111浏览 • 1回复 待解决
音画同步要计算出当前已经写入音频帧数据播放要耗时多少,这样就能计算出将要送显的视频帧对应的PTS应该是多少。
参考步骤如下:
1、getTimestamp获取到最近的已经播放帧Pos1和对应时间戳T1。假如已经播放了48000帧数据,采样率为48kHZ,那么根据计算的结果播放的音频时长为1000000ns。
2、获取当前时间nowT2与T1的差值,可以计算出pos1播放时候到现在经过了多长时间ΔT.ΔT = nowT2- T1
3、根据Pos1计算对应的时长audioPlayedTime = Pos1 * 1000000LL/sampleRate
4、当前已经播的帧的实际时长为:nowAudioPlayedTime = audioPlayedTime + ΔT
5、应用写到框架的总数据为framesWritten,这些数据连续播完需要时长:framesWrittenTime = framesWritten * 1000000LL/sampleRate
6、计算待播放的帧需要花费多久,基于该值为视频做同步 framesWrittenNeedTime = framesWrittenTime - nowAudioPlayedTime