HarmonyOS NAPI,如果从ArkTS侧传入Uint8Array,请问Native该怎么接收这个数组?

HarmonyOS NAPI,如果从ArkTS侧传入Uint8Array,请问Native该怎么接收这个数组?

HarmonyOS
2024-11-25 11:37:44
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

请参考以下代码:

napi_typedarray_type arr_type; 
napi_value arr_buffer; 
size_t arr_offset; 
size_t arr_i, arr_length; 
// 获取传入数组的长度和类型 
napi_status status = napi_get_typedarray_info(env, arr, &arr_type, &arr_length, NULL, &arr_buffer, &arr_offset); 
LOGI("-------arr--%{public}d-------", arr_length); 
void *data; 
size_t byte_len; 
napi_create_array_with_length(env, arr_length, &arr_buffer); 
napi_get_arraybuffer_info(env, arr_buffer, &data, &byte_len); 
napi_value output_buffer; 
void *output_ptr = NULL; 
napi_create_arraybuffer(env, byte_len, &output_ptr, &output_buffer); 
napi_value out_arr; 
napi_create_typedarray(env, arr_type, arr_length, output_buffer, arr_offset, &out_arr); 
if (arr_type == napi_uint8_array) { 
  uint8_t *input_bytes = (uint8_t *)(data) + arr_offset; 
  uint8_t *output_bytes = (uint8_t *)(output_ptr); 
  for (arr_i = 0; arr_i < arr_length; arr_i++) { 
    OH_LOG_INFO(LOG_APP, "Multiply_for_arraybuffer input_bytes %{public}d", input_bytes[arr_i]); 
    output_bytes[arr_i] = (uint8_t)(input_bytes[arr_i] * 1); 
    LOGI("最终结果,============%{public}zi", output_bytes[arr_i]); 
  } 
}
分享
微博
QQ
微信
回复
2024-11-25 15:10:41
相关问题
ArrayBuffer怎么Uint8Array
830浏览 • 1回复 待解决
HarmonyOSUint8Array
305浏览 • 1回复 待解决
HarmonyOS string怎么Uint8Array互转?
887浏览 • 1回复 待解决
HarmonyOS Uint8Array怎么正确转ArrayBuffer
1883浏览 • 1回复 待解决
HarmonyOS List<number>怎么Uint8Array
269浏览 • 1回复 待解决
Uint8Arraynative层去解析提示过期
705浏览 • 1回复 待解决
HarmonyOS string转Uint8Array
374浏览 • 2回复 待解决
HarmonyOS 录音发送Uint8Array
227浏览 • 1回复 待解决
Uint8Array如何转成ArrayBuffer
1795浏览 • 1回复 待解决
HarmonyOS ArrayBuffer如何转成Uint8Array
301浏览 • 1回复 待解决
HarmonyOS Uint8Array转16进制
270浏览 • 2回复 待解决
Uint8Array是@Sendable类吗?
483浏览 • 1回复 待解决
HarmonyOS uint8Array转字符串
408浏览 • 1回复 待解决
Uint8Array 如何直接转为String or Json
3034浏览 • 1回复 待解决
如何将Uint8Array转ArrayBuffer?
713浏览 • 1回复 待解决
HarmonyOS socket.TLSSocket发送Uint8Array对象
194浏览 • 1回复 待解决
HarmonyOS Uint8Array转成string后出现乱码
413浏览 • 2回复 待解决
HarmonyOS 如何将Uint8Array转为ArrayBuffer
247浏览 • 1回复 待解决
HarmonyOS 如何将Uint8Array转成ArrayBuffer
158浏览 • 1回复 待解决