аналоговый вход, начиная с Matlab - PullRequest
0 голосов
/ 22 июля 2011

Я пытаюсь отобразить аудио в режиме реального времени, используя аналоговый вход, это код:

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 уже используется.я не уверен, в чем проблема ?, я убедился, что если устройство включено / работает, ничего не делать.

1 Ответ

0 голосов
/ 31 августа 2011

Я не уверен, как просто добавить комментарий (или если я просто пока не могу), поэтому вот мой «ответ»:

У меня была похожая проблема с доской сбора данных с использованием Windows7. Чтобы обойти эту проблему, обычно нужно запускать программу от имени администратора.

В Windows 7 для этого достаточно щелкнуть правой кнопкой мыши по ярлыку и выбрать «Запуск от имени администратора» или изменитьрасширенные свойства ярлыка для запуска программы от имени администратора.

Если вы работаете в Windows XP, вы можете проверить, есть ли у вашей учетной записи права администратора (например, проверьте Панель управления> Пользователи или просто попробуйте что-нибудь записать в системную папку).

Если они не работают, то другая программа, вероятно, использует звуковую карту, это иногда случалось с некоторыми звуковыми наборами для меня и было решено путем выхода из программ (или их удаления, возможно).

Я понимаю, что это долго после того, как вопрос был опубликован, но, возможно, это будет полезно для кого-то еще!

...