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

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

HarmonyOS
2024-12-23 15:33:43
浏览
收藏 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
微信
回复
2024-12-23 20:23:01
相关问题
HarmonyOS AVPlayer设置surfaceId报错
300浏览 • 1回复 待解决
HarmonyOS nativejs代码调用
476浏览 • 1回复 待解决
JSTS哪个平时更常用?
3576浏览 • 1回复 已解决
HarmonyOS 多线程数据互通问题
361浏览 • 2回复 待解决
HarmonyOS C++如何同步调用JS函数 -
402浏览 • 0回复 待解决
HarmonyOS ETSc++通信
489浏览 • 1回复 待解决
HarmonyOS webjs交互
454浏览 • 1回复 待解决