playaudio()函数在Octave中不起作用

时间:2014-04-25 13:57:07

标签: matlab audio octave

我需要在Octave上播放一个wav文件。当我打电话给playaudio("示例"," wav")时。我收到这个错误:

错误:playaudio不支持给定的扩展名

错误:来自:

错误:/usr/share/octave/3.2.4/m/audio/playaudio.m第70行第7行

我怎么能解决这个问题?如何制作playaudio支持wav。格式。

1 个答案:

答案 0 :(得分:1)

playaudio函数的源代码非常简单:

if (any (strcmp (ext, {"lin", "raw"})))
  [status, out] = system (sprintf ('cat "%s" > /dev/dsp', name));
  if (status != 0)
    system (sprintf ('paplay --raw "%s"', name));
  endif
elseif (any (strcmp (ext, {"mu", "au" "snd", "ul"})))
  [status, out] = system (sprintf ('cat "%s" > /dev/audio', name));
  if (status != 0)
    system (sprintf ('paplay "%s"', name));
  endif
else
  error ("playaudio: unsupported extension '%s'", ext);
endif

正如您所看到的,它只是使用paplay声音服务器在所有Linux系统中使用playaudio.m实用程序进行系统调用。如果您有权自行编辑elseif (any (strcmp (ext, {"mu", "au" "snd", "ul", "wav"}))) 文件,只需添加" wav"列表的扩展名如下:

{{1}}

它应该开箱即用。

我将此补丁提交给GNU Octave错误跟踪系统。感谢您报告此问题。


提交补丁:PulseAudio