Mail.ru
Почта
Мой Мир
Одноклассники
ВКонтакте
Игры
Знакомства
Новости
Календарь
Облако
Заметки
Все проекты
Все проекты
выход
Регистрация
Вход
Категории
Все вопросы проекта
Компьютеры, Интернет
Темы для взрослых
Авто, Мото
Красота и Здоровье
Товары и Услуги
Бизнес, Финансы
Наука, Техника, Языки
Философия, Непознанное
Города и Страны
Образование
Фотография, Видеосъемка
Гороскопы, Магия, Гадания
Общество, Политика, СМИ
Юридическая консультация
Досуг, Развлечения
Путешествия, Туризм
Юмор
Еда, Кулинария
Работа, Карьера
О проектах Mail
Животные, Растения
Семья, Дом, Дети
Другое
Знакомства, Любовь, Отношения
Спорт
Золотой фонд
Искусство и Культура
Стиль, Мода, Звезды
Полный список
Спросить
Лидеры
Поиск по вопросам
Ответы Mail
Программирование
Android
C/C++
C#
iOS
Java
JavaScript
jQuery
SQL
Perl
PHP
Python
Веб-дизайн
Верстка, CSS, HTML, SVG
Системное администрирование
Другие языки и технологии
Вопросы - лидеры.
Чем Луа лучше Пайтона и наоборот? Буду использовать в целях написания сценариев.
1 ставка
Лидеры категории
Лена-пена
Искусственный Интеллект
М.И.
Искусственный Интеллект
Y.Nine
Искусственный Интеллект
•••
C/C++: запись звука
Кирилл Зеленкин
Профи
(518), на голосовании
4 месяца назад
Не с микрофона, а всего того звука, который воспроизводится на компьютере, помещение звука в буфер маленькими кусочками (одноканальное, можно восьмибитное), для последующей обработки.
Я нашел такой кусок кода, не пойму что он делает:
char buf[44000] = "";
void kkk(){
HWAVEIN in;
WAVEHDR wavehdr;
WAVEFORMATEX Format;
Format.wFormatTag = WAVE_FORMAT_PCM;
Format.wBitsPerSample = 8;
Format.nChannels = 1;
Format.nSamplesPerSec = 44000;
waveInOpen(&in, WAVE_MAPPER, &Format, NULL, 0L, CALLBACK_WINDOW);
wavehdr.lpData = buf;
wavehdr.dwBufferLength = 44000;
wavehdr.dwBytesRecorded = 0;
wavehdr.dwUser = 0;
wavehdr.dwFlags = 0;
wavehdr.dwLoops = 0;
wavehdr.lpNext = 0;
wavehdr.reserved = 0;
waveInPrepareHeader(in, &wavehdr, sizeof(WAVEHDR));
waveInAddBuffer(in, &wavehdr, sizeof(WAVEHDR));
waveInStart(in);
Sleep(1000);
waveInReset(in);
waveInUnprepareHeader(in, &wavehdr, sizeof(WAVEHDR));
waveInClose(in);
};
Он пишет звук с микрофона или весь звук? И работает ли вообще?
Голосование за лучший ответ
/bin/laden
Искусственный Интеллект
(113101)
5 месяцев назад
пишет 1 сек с дефолтного устройства записи.
Кирилл Зеленкин
Профи (518)
5 месяцев назад
А как сделать, что бы писал 1 сек того, что проигрывается на компьютере?
/bin/laden
Искусственный Интеллект (113101) Кирилл Зеленкин, вместо WAVE_MAPPER указать номер устройства Stereo Mix, если такое присутствует.
Кирилл Зеленкин
Профи (518)
5 месяцев назад
/bin/laden
Искусственный Интеллект (113101) Кирилл Зеленкин, у тебя только одно устройство, оно же дефолтное
Кирилл Зеленкин
Профи (518)
5 месяцев назад
Я нашел стереомикшер, но не могу понять, где написан его номер. Что вставлять в программу-то?
Похожие вопросы
Я нашел такой кусок кода, не пойму что он делает:
char buf[44000] = "";
void kkk(){
HWAVEIN in;
WAVEHDR wavehdr;
WAVEFORMATEX Format;
Format.wFormatTag = WAVE_FORMAT_PCM;
Format.wBitsPerSample = 8;
Format.nChannels = 1;
Format.nSamplesPerSec = 44000;
waveInOpen(&in, WAVE_MAPPER, &Format, NULL, 0L, CALLBACK_WINDOW);
wavehdr.lpData = buf;
wavehdr.dwBufferLength = 44000;
wavehdr.dwBytesRecorded = 0;
wavehdr.dwUser = 0;
wavehdr.dwFlags = 0;
wavehdr.dwLoops = 0;
wavehdr.lpNext = 0;
wavehdr.reserved = 0;
waveInPrepareHeader(in, &wavehdr, sizeof(WAVEHDR));
waveInAddBuffer(in, &wavehdr, sizeof(WAVEHDR));
waveInStart(in);
Sleep(1000);
waveInReset(in);
waveInUnprepareHeader(in, &wavehdr, sizeof(WAVEHDR));
waveInClose(in);
};
Он пишет звук с микрофона или весь звук? И работает ли вообще?