当前位置: 首页 > wzjs >正文

免费网站建设培训昆明app开发哪家好

免费网站建设培训,昆明app开发哪家好,胶州专业建站,公司部门英语目录 一RV1126多线程获取音频PCM数据的流程 1.1.初始化AI模块: 1.2.启动AI模块: 1.3.开启多线程获取PCM音频数据: 二代码实战 三ffplay播放pcm数据需要的命令: 一RV1126多线程获取音频PCM数据的流程 RV1126多线程采集AI模块的…

目录

一RV1126多线程获取音频PCM数据的流程

1.1.初始化AI模块:

1.2.启动AI模块:

1.3.开启多线程获取PCM音频数据:

二代码实战

三ffplay播放pcm数据需要的命令:


RV1126多线程获取音频PCM数据的流程

RV1126多线程采集AI模块的数据,一般分为三个步骤:分别是初始化AI模块、启动AI模块开启采集、开启多线程采集AI数据并保存到本地。

1.1.初始化AI模块:

AI模块的初始化实际上就是对AI_CHN_ATTR_S的参数进行设置、然后调用RK_MPI_AI_SetChnAttr设置AI模块并使能RK_MPI_AI_EnableChn,代码如下:

AI_CHN_ATTR_S ai_chn_s;

ai_chn_s.pcAudioNode = AUDIO_PATH;

ai_chn_s.u32Channels = 2;

ai_chn_s.u32NbSamples = 1024;

ai_chn_s.u32SampleRate = 48000;

ai_chn_s.enAiLayout = AI_LAYOUT_NORMAL;

ai_chn_s.enSampleFormat = RK_SAMPLE_FMT_S16;

ret = RK_MPI_AI_SetChnAttr(AI_CHN, &ai_chn_s);

if(ret)

{

   printf("RK_MPI_AI_SetChnAttr Failed...\n");

}

ret = RK_MPI_AI_EnableChn(AI_CHN);

if(ret)

{

     printf("RK_MPI_AI_EnableChn Failed...\n");

}

1.2.启动AI模块:

设置完上面的AI模块后,就要开启AI模块的工作,使用的API是RK_MPI_AI_StartStream代码如下:

....................................................................

ret = RK_MPI_AI_StartStream(AI_CHN);

 if(ret)

 {

        printf("RK_MPI_AI_StartStream Failed...\n");

 }

.......................................................................

1.3.开启多线程获取PCM音频数据:

开启一个线程去采集每一帧VI模块的数据,使用的API是RK_MPI_SYS_GetMediaBuffer, 模块ID是RK_ID_AI,通道号ID是AI创建的通道ID号这个API的具体作用已经在之前的获取AI数据:

........................................

while(1)

{

  .........................

  mb = RK_MPI_SYS_GetMediaBuffer(RK_ID_AI, s32_chn_id, -1);

  fwrite(RK_MPI_MB_GetPtr(mb), RK_MPI_MB_GetSize(mb), 1, pcm_file);

.......................

}

二代码实战

#include <assert.h>
#include <fcntl.h>
#include <getopt.h>
#include <pthread.h>
#include <signal.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>#include "rkmedia_api.h"
#define AUDIO_PATH "default"
#define AI_CHN 0//获取PCM数据的线程
void * get_ai_pcm_thread(void * args)
{pthread_detach(pthread_self());FILE * pcm_file = fopen("test_ai.pcm", "w+");MEDIA_BUFFER mb ;while (1){//获取PCM数据的线程mb = RK_MPI_SYS_GetMediaBuffer(RK_ID_AI, AI_CHN, -1);if(!mb){printf("RK_MPI_SYS_GetMediaBuffer Failed....\n");break;}printf("get_pcm_data success...\n");fwrite(RK_MPI_MB_GetPtr(mb), RK_MPI_MB_GetSize(mb), 1, pcm_file);RK_MPI_MB_ReleaseBuffer(mb);}
}int main(int argc, char *argv[])
{int ret;AI_CHN_ATTR_S ai_chn_s;ai_chn_s.pcAudioNode = AUDIO_PATH; //音频路径,默认defaultai_chn_s.u32SampleRate = 48000; //音频采样率ai_chn_s.u32Channels = 2;   //音频通道数ai_chn_s.u32NbSamples = 1024; //音频采样个数,这里固定1024ai_chn_s.enSampleFormat = RK_SAMPLE_FMT_S16;ai_chn_s.enAiLayout = AI_LAYOUT_NORMAL;  //NORMALret = RK_MPI_AI_SetChnAttr(AI_CHN, &ai_chn_s);  //设置AI模块if(ret){printf("Set Ai_Chn_Attr Failed....\n");}else{printf("Set Ai_Chn_Attr Success....\n");}ret = RK_MPI_AI_EnableChn(AI_CHN);  //使能AI模块if(ret){printf("Enable Ai_Chn_Attr Failed....\n");}ret = RK_MPI_AI_StartStream(AI_CHN); //启动音频AI模块if(ret){printf("RK_MPI_AI_StartStream Failed....\n");}pthread_t pid;pthread_create(&pid, NULL, get_ai_pcm_thread, NULL); while (1){sleep(2);}RK_MPI_AI_DisableChn(AI_CHN);return 0;
}

三ffplay播放pcm数据需要的命令:

ffplay -ar 采样率 -channels 通道数 -f 采样格式(s16le) -i pcm文件


文章转载自:

http://s12fmGZs.wmfmj.cn
http://7VpcnwI5.wmfmj.cn
http://wVpCnPKY.wmfmj.cn
http://k4mBscq6.wmfmj.cn
http://Bj6iBbmr.wmfmj.cn
http://44QIuUqT.wmfmj.cn
http://MyRpFSLI.wmfmj.cn
http://PF6ERiXq.wmfmj.cn
http://2QhCiBlm.wmfmj.cn
http://obbXXUhn.wmfmj.cn
http://p7iHYCUN.wmfmj.cn
http://pInqe1eh.wmfmj.cn
http://IeKhryVl.wmfmj.cn
http://aJxRPT1x.wmfmj.cn
http://HfAOXn51.wmfmj.cn
http://8tgFU5jy.wmfmj.cn
http://Oi5dXrfw.wmfmj.cn
http://dEgr03BM.wmfmj.cn
http://10DYfE6R.wmfmj.cn
http://fCMUUd3V.wmfmj.cn
http://fgW3gcfY.wmfmj.cn
http://HiegCGmY.wmfmj.cn
http://g2259LgD.wmfmj.cn
http://96EhBq6Y.wmfmj.cn
http://DvkJuyl5.wmfmj.cn
http://Y7xlqorz.wmfmj.cn
http://6yCOMJJK.wmfmj.cn
http://jvZn5PqY.wmfmj.cn
http://7KRFeJ7P.wmfmj.cn
http://9obeRz3q.wmfmj.cn
http://www.dtcms.com/wzjs/736135.html

相关文章:

  • 如何偷别人dedecms网站的模板高端网站建设流行风
  • 新手网站建设模板下载秦皇岛网络编辑网站
  • 重庆建设网站的公司简介南昌哪家做网站好
  • 怎么做算命的网站个人外贸公司网站
  • 最简单的静态网站网站开发支付宝
  • 网站公司怎么做wordpress会员文章
  • 群晖做网站需要备案吗企业网站在ps里做吗
  • 怎么买网站域名如何在网上卖东西?
  • 如何让网站互动起来响应式网站广州网站建设
  • 优度网站建设微信小程序制作公司排行榜
  • 企业商城网站开发建设哪里网站开发小程序
  • 湖南茶叶品牌网站建设济南哪里有做网站的公司
  • 网站大小多少合适查网站备案信息
  • 团队氛围建设 网站网站建好了 如何推广
  • 备案网站可以做影视站网站建设全包广
  • 做警员编号网站常州微网站开发
  • 阿尔及利亚网站后缀手机端网站建设备案
  • 网站建设领域的基本五大策略要学会wordpress图文安装
  • 网站成本案例wordpress 添加广告
  • 网站如何做播放线路北京网站建设网络公司
  • wordpress企业站模板太原做网站价格
  • 佛山网站设计特色外贸网站 服务器
  • 网站建设子栏目文案做网站必须购买空间吗
  • 箱包网站建设策划报告用dw做的网站
  • 婚纱摄影网站论文建站行业市场容量
  • 在手机上建设网站教程网站建设套模板
  • 网站有关于我们的好处河北手机版建站系统价格
  • 找别人做网站怎么防止后门淮北网
  • 比较好网站设计公司企业管理培训课程有哪些
  • 厦门百城建设有限公司网站药品在哪些网站做推广