1 Star 0 Fork 306

Liuhua/xts_tools

forked from OpenHarmony/xts_tools 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
test0213.c 4.73 KB
一键复制 编辑 原始数据 按行查看 历史
Liuhua 提交于 2024-01-13 11:13 +08:00 . CI测试单,请勿合入!
static napi_value AudioCaptureGetTimestamp(napi_env env, napi_callback_info info)
{
OH_AudioStreamBuilder *builder = CreateCapturerBuilder();
OH_AudioCapturer *audioCapturer;
OH_AudioStreamBuilder_GenerateCapturer(builder, &audioCapturer);
OH_AudioCapturer_Start(audioCapturer);
int64_t framePosition;
int64_t timestamp;
OH_AudioStream_Result result = OH_AudioCapturer_GetTimestamp(audioCapturer, CLOCK_MONOTONIC, &framePosition, &timestamp);
OH_AudioCapturer_Stop(audioCapturer);
OH_AudioCapturer_Release(audioCapturer);
OH_AudioStreamBuilder_Destroy(builder);
napi_value res;
napi_create_int32(env, result, &res);
return res;
}
static napi_value AudioCaptureGetFramesRead(napi_env env, napi_callback_info info)
{
OH_AudioStreamBuilder *builder = CreateCapturerBuilder();
OH_AudioCapturer *audioCapturer;
OH_AudioStreamBuilder_GenerateCapturer(builder, &audioCapturer);
int64_t frames;
OH_AudioStream_Result result = OH_AudioCapturer_GetFramesRead(audioCapturer, &frames);
OH_AudioStreamBuilder_Destroy(builder);
napi_value res;
napi_create_int32(env, result, &res);
return res;
}
static napi_value AudioCaptureGetFrameSizeInCallback(napi_env env, napi_callback_info info)
{
OH_AudioStreamBuilder *builder = CreateCapturerBuilder();
OH_AudioCapturer *audioCapturer;
OH_AudioStreamBuilder_GenerateCapturer(builder, &audioCapturer);
int32_t frameSize;
OH_AudioStream_Result result = OH_AudioCapturer_GetFrameSizeInCallback(audioCapturer, &frameSize);
OH_AudioStreamBuilder_Destroy(builder);
napi_value res;
napi_create_int32(env, result, &res);
return res;
}
OH_AudioStreamBuilder *CreateRenderBuilder()
{
@@ -314,6 +360,75 @@ OH_AudioStreamBuilder *CreateRenderBuilder()
return builder;
}
static void AudioRendererDeviceChangeCb(OH_AudioRenderer* renderer, void* userData,
OH_AudioStream_DeviceChangeReason reason)
{}
static napi_value AudioSetRendererOutputDeviceChangeCallback(napi_env env, napi_callback_info info)
{
OH_AudioStreamBuilder *builder = CreateRenderBuilder();
OH_AudioStream_Type type = AUDIOSTREAM_TYPE_RENDERER;
OH_AudioStreamBuilder_Create(&builder, type);
OH_AudioRenderer_OutputDeviceChangeCallback deviceChangeCb = AudioRendererDeviceChangeCb;
OH_AudioStream_Result result = OH_AudioStreamBuilder_SetRendererOutputDeviceChangeCallback(builder, deviceChangeCb, NULL);
OH_AudioStreamBuilder_Destroy(builder);
napi_value res;
napi_create_int32(env, result, &res);
return res;
}
static napi_value AudioRenderGetFramesWritten(napi_env env, napi_callback_info info)
{
OH_AudioStreamBuilder *builder = CreateRenderBuilder();
OH_AudioRenderer *audioRenderer;
OH_AudioStreamBuilder_GenerateRenderer(builder, &audioRenderer);
int64_t frames;
OH_AudioStream_Result result = OH_AudioRenderer_GetFramesWritten(audioRenderer, &frames);
OH_AudioStreamBuilder_Destroy(builder);
napi_value res;
napi_create_int32(env, result, &res);
return res;
}
static napi_value AudioRenderGetTimestamp(napi_env env, napi_callback_info info)
{
OH_AudioStreamBuilder *builder = CreateRenderBuilder();
OH_AudioRenderer *audioRenderer;
OH_AudioStreamBuilder_GenerateRenderer(builder, &audioRenderer);
OH_AudioRenderer_Start(audioRenderer);
int64_t framePosition;
int64_t timestamp;
OH_AudioStream_Result result = OH_AudioRenderer_GetTimestamp(audioRenderer, CLOCK_MONOTONIC, &framePosition, &timestamp);
OH_AudioRenderer_Stop(audioRenderer);
OH_AudioRenderer_Release(audioRenderer);
OH_AudioStreamBuilder_Destroy(builder);
napi_value res;
napi_create_int32(env, result, &res);
return res;
}
static napi_value AudioRenderGetFrameSizeInCallback(napi_env env, napi_callback_info info)
{
OH_AudioStreamBuilder *builder = CreateRenderBuilder();
OH_AudioRenderer *audioRenderer;
OH_AudioStreamBuilder_GenerateRenderer(builder, &audioRenderer);
int32_t frameSize;
OH_AudioStream_Result result = OH_AudioRenderer_GetFrameSizeInCallback(audioRenderer, &frameSize);
OH_AudioStreamBuilder_Destroy(builder);
napi_value res;
napi_create_int32(env, result, &res);
return res;
}
OH_AudioStreamBuilder_GenerateCapturer(builder, &audioCapturer);
OH_AudioCapturer_Start(audioCapturer);
int64_t framePosition;
int64_t timestamp;
OH_AudioStream_Result result = OH_AudioCapturer_GetTimestamp(audioCapturer, CLOCK_MONOTONIC, &framePosition, &timestamp);
OH_AudioCapturer_Stop(audioCapturer);
OH_AudioCapturer_Release(audioCapturer);
OH_AudioStreamBuilder_Destroy(builder);
napi_value res;
napi_create_int32(env, result, &res);
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/liuhua22/xts_tools.git
git@gitee.com:liuhua22/xts_tools.git
liuhua22
xts_tools
xts_tools
master

搜索帮助