HarmonyOS surfaceid在nativewindow和js层的surfaceId不互通?

在js中AVRecorder里面的拿到的inputSurface,无法通过OH_NativeWindow_CreateNativeWindowFromSurfaceId创建,显示无效参数?两个surfaceId不互通?

HarmonyOS
4天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以通过以下方式排查OH_NativeWindow_CreateNativeWindowFromSurfaceId无法创建有效窗口的问题:

1.SurfaceId的获取:

确保在prepare事件成功触发后调用getInputSurface方法获取surfaceId。因为在此之前,SurfaceId可能还未准备好。确认SurfaceId是有效的,并且没有被释放。

2.SurfaceId的传递:

确保传递给OH_NativeWindow_CreateNativeWindowFromSurfaceId的surfaceId与AVRecorder获取的surfaceId一致。

确认OH_NativeWindow_CreateNativeWindowFromSurfaceId的实现是否正确,可能存在接口版本不一致或其他参数传递错误。

3.OHNativeWindow的创建:

确保在调用OH_NativeWindow_CreateNativeWindowFromSurfaceId之前,已经正确创建了OHNativeWindow实例。如果使用的是较新版本的接口,确保正确使用了OH_NativeWindow_CreateNativeWindow方法。

由于SurfaceId在音视频录制和播放过程中都会被使用,因此通过AVRecorder获取的surfaceId与OH_NativeWindow_CreateNativeWindowFromSurfaceId获取的surfaceId应该是同一个。

分享
微博
QQ
微信
回复
4天前
相关问题
HarmonyOS AVPlayer设置surfaceId报错
34浏览 • 1回复 待解决
HarmonyOS nativejs代码调用
78浏览 • 1回复 待解决
JSTS哪个平时更常用?
3098浏览 • 1回复 已解决
HarmonyOS 多线程数据互通问题
63浏览 • 2回复 待解决
HarmonyOS C++如何同步调用JS函数 -
73浏览 • 0回复 待解决
HarmonyOS webjs交互
204浏览 • 1回复 待解决
HarmonyOS ETSc++通信
42浏览 • 1回复 待解决
HarmonyOS rightpaddingmargin生效
843浏览 • 1回复 待解决