HarmonyOS 是否有C++ native层读取音频文件并在上层进行播放的例子

如何在底层使用C++读取pcm的文件,并将读取到的音频流流式传输到ArkTS层并进行播放,需要边读边播放,不是一次读取完再数据全部上抛。

HarmonyOS
2025-01-09 13:49:27
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
shlp

ArkTS调用native方法再回调参考示例:

uint8_t *ReadArraybuffer() {
    uint8_t *buffer = new uint8_t[1024];
    memset(buffer, 2, 1024);
    return buffer;
}
void ToFin(napi_env env, void *finalize_data, void *finalize_hint) { free(finalize_hint); }
static napi_value GetArraybuffer(napi_env env, napi_callback_info info) {
    uint8_t *buffer = ReadArraybuffer();
    napi_value result;
    napi_status status;
    status = napi_create_external_arraybuffer(env, buffer, 1024, ToFin, buffer, &result);
    if (status != napi_ok) {
        napi_throw_error(env, nullptr, "Failed to create external ArrayBuffer");
        delete[] buffer;
        return nullptr;
    }
    return result;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
分享
微博
QQ
微信
回复
2025-01-09 16:54:55
相关问题
HarmonyOS 播放本地音频文件
1385浏览 • 1回复 待解决
怎么读取本地音频文件列表?
7312浏览 • 1回复 待解决
HarmonyOS raw音频文件读取转为字节流
609浏览 • 1回复 待解决
HarmonyOS native C++ 传递buffer 到ArkTS
1095浏览 • 1回复 待解决
AVPlayer实现音频播放c++侧)
2178浏览 • 1回复 待解决
通过Native 调用c++实现文本绘制
1927浏览 • 1回复 待解决
c++处理promise例子
557浏览 • 1回复 待解决
是否可以进行音频混合播放
205浏览 • 0回复 待解决
HarmonyOS C++如何读取指定路径文件
696浏览 • 1回复 待解决
HarmonyOS 获取本地所有音频文件
808浏览 • 1回复 待解决