0

我正在尝试使用模拟输入实时显示音频,这是代码:

function Cspe()

    daq_object = analoginput('winsound');
    chan = addchannel(daq_object,1);
    num_samples=1000;

    set(daq_object,'SamplesPerTrigger',inf,'SamplesAcquiredFcnCount',num_samples,...
       'SamplesAcquiredFcn',{@up,num_samples});

    if(strcmp(daq_object.running,'On'))
        return;
    else
        start(daq_object);
end

end

function up(num_samples)
    data=getdata(daq_object,num_samples);
    a=[1:num_samples];
    plot(a,data);
    drawnow;
end

但它不断给我错误,说 Winsound 已经在使用中。我不太确定问题是什么?,我确保如果设备正在打开/运行,不要做任何事情。

4

1 回答 1

0

我不确定如何添加评论(或者如果我还不能添加评论)所以这是我的“答案”:

我在使用 Windows 7 的数据采集板上遇到了类似的问题。通常解决此问题的方法是确保您以管理员身份运行该程序。

在 Windows 7 中,您只需右键单击快捷方式并选择“以管理员身份运行”或更改快捷方式的高级属性以以管理员身份运行程序。

如果您使用的是 Windows XP,您可能需要检查您的用户帐户是否具有管理权限(即检查控制面板 > 用户,或者只是尝试将某些内容写入系统文件夹)。

如果这些不起作用,那么可能是另一个程序使用了声卡,这有时会发生在某些音频套件中,并通过退出程序(或可能卸载它们)来解决。

我意识到这是在问题发布很久之后,但也许这对其他人有用!

于 2011-08-31T03:49:35.337 回答