Я работаю над аналогичной проблемой: хочу записать с 2-х микрофонов.
Прежде всего: в Mac OS X версии Matlab более ранние, чем r2011a, не поддерживают несколько устройств ввода.Таким образом, вы должны обновить до r2011a.Я обнаружил в примечаниях к выпуску Matlab r2011a (http://www.mathworks.com/help/pdf_doc/matlab/rn.pdf стр. 18)
Устройство поддержки аудиоплеера и аудиомагнитофона Выбор на всех платформах аудиоплеер и аудиорекордер теперь позволяют указывать входили устройство вывода на всех поддерживаемых платформах.В предыдущих выпусках вы могли указывать устройства только в системах Microsoft Windows.
Я сейчас тестирую его, но, похоже, он не работает должным образом (встроенный вход не может обрабатывать 44100 Гц, 16 бит,1 канал записи): - /
Обновитесь до версии r2011a, и мы попытаемся решить эту проблему вместе.
* Upadte ** Вот что я сделал: Список всех аудиоустройств:
>> audiodevinfo
ans =
input: [1x2 struct]
output: [1x1 struct]
Список каждого устройства ввода:
>> audiodevinfo(1,0)
ans =
Built-in Microphone (Core Audio)
>> audiodevinfo(1,1)
ans =
Built-in Input (Core Audio)
Проверка нужного устройства (для меня это был штекер с микрофоном):
>> audiodevinfo(1,1, 44100, 16, 1)
ans =
1
функция вернула 1, поэтому устройство МОЖЕТ записать аудиосигнал на частоте 44100 Гц, 16 бит, 1 канал.
Создать объект аудиорекордера, подключенный к требуемому устройству:
r = аудиорекордер (44100,16,1,1);
Запись звука с использованием функции блокировка записи (мне не нужно записывать асинхроннои предпочитаю блокировку записи вместо функции записи, потому что я вижу, когда закончится процесс записи).
Сыграйте.
play (r);
У меня все работает нормально:)