0

我想使用 MATLAB 编码器将 matlab 代码转换为 C 代码,但效果不佳。

我试图在 matlab 代码下面.. 并使用 MATLAB 编码器构建

 function  example()

     recObj = audiorecorder(44100,16,1); 
     disp('Start speaking.');
     recordblocking(recObj, 5);
     disp('End of Recording.');

      play(recObj);

但是有一些错误。喜欢..

编码器-build ex1.prj ??? 'audiorecorder' 类不支持代码生成。

  Error in ==> example Line: 2 Column: 10
  Code generation failed: Open error report.

所以,我试图删除录音机功能,但它也不起作用。

我不知道这些代码有什么问题。我该怎么办?请帮忙。

4

2 回答 2

1

并非每个 MATLAB 函数都可以转换为 C 代码。

有关支持的功能列表,请参见此处

如果您希望使用列表中没有的 MATLAB 函数,您应该在 MATLAB(如果可能的话,我对此表示怀疑)或 C 中编写您自己的版本。

于 2014-06-28T18:07:24.083 回答
1

它可能对部署到 Android 没有帮助,但有dsp.AudioRecorder System Object 支持 C 代码生成并允许进行一些音频录制。生成的代码可以在安装了 MATLAB 的系统上运行。

另一种选择是在 MATLAB Coder 兼容代码中编写您的计算算法,并使用 Android API 进行音频捕获、用户交互等。然后,您可以将捕获的音频数据传递给生成的本机代码进行处理。我见过一种类似的图像处理方法,其中 Android API 用于捕获图像,然后将其发送到使用 MATLAB Coder 生成的 C 代码进行处理。

于 2014-07-01T14:29:41.423 回答