Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
1

Захват звука

16.12.2009, 05:32. Просмотров 3688. Ответов 11
Метки нет (Все метки)

Надо захватить звук в буфер для анализа. Ёмкость буфера искуственно ограничить и хранить в нём только последние n секунд. При поступлении кажого нового данного с микрофона самое старое выбрасывать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2009, 05:32
Ответы с готовыми решениями:

Лямбды и захват переменных
Лямбды могут захватывать переменные через {}. Вопрос: а куда, собственно, эти переменные...

Захват видео с веб-камеры (C++)
Здравствуйте! Я установил Visual Studio 2015 Community и библиотеку OpenCV 3.1.0 на Windows 10....

Захват информации графического приложения
Каким образом можно захватить информацию(текст) с графического приложения для дальнейшего...

Можно ли на c++ создать программу подобную camstudio (захват видео с экрана)?
Каким образом записывает видео с экрана?Можно ли на c++ сделать что то такое? И что нужно знать...

11
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
16.12.2009, 08:44 2
Все зависит от того под какой операционкой, на каком языке программирования пишешь...
Или ты хочешь железку спаять, которая будет этот звук перехватывать?
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
16.04.2010, 06:33  [ТС] 3
c++ и винда.
0
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
16.04.2010, 06:41 4
Цитата Сообщение от taras atavin Посмотреть сообщение
c++ и винда.
Это тоже довольно абстрактно.
На MFC я использовал mmsystem.h, mmreg.h, наверное это будет работать и на WinAPI, не проверял.
Можно работать с DirectDraw.
В Qt то делается через QAudioInput
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
16.04.2010, 06:48  [ТС] 5
Microsoft developmet studio 6.0, Windows XP, DirectX SDK. MFC что такое? Без использования аналогов VCL.
Цитата Сообщение от vitaly1981 Посмотреть сообщение
DirectDraw.
Выбираем этот путь. Как именно сделать? Я в звуке даже не новичок, а желающий начать. Сможешь объяснить недочайнику, как это делается?
0
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
16.04.2010, 06:57 6
Цитата Сообщение от taras atavin Посмотреть сообщение
Microsoft developmet studio 6.0, Windows XP, DirectX SDK. MFC что такое? Без использования аналогов VCL.
Выбираем этот путь. Как именно сделать? Я в звуке даже не новичок, а желающий начать. Сможешь объяснить недочайнику, как это делается?
MFC это Microsoft Foundation Classes http://ru.wikipedia.org/wiki/MFC
C DirectDraw пока работать реально не приходилось, там тоже куча замутов, но вроде как возможностей тоже много. Качай описания работы с DirectDraw и разбирайся. Там все не так просто, что бы что то написать нужно вникнуть в систему организации звука в Windows, с первого прочтения не поймешь скорее всего ).
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
16.04.2010, 07:53  [ТС] 7
Как раз по этой ссылке:
Библиотека MFC, как и ее основной конкурент, Borland VCL...
Значит, без MFC. GUI только API и директом.
0
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
16.04.2010, 07:59 8
mmsystem.h кажется из без MFC должен работать, нужно проверять.
0
60 / 60 / 9
Регистрация: 13.01.2009
Сообщений: 322
28.06.2010, 06:10 9
для интересующихся
http://subscribe.ru/archive/co... 54450.html

0
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
28.06.2010, 06:43 10
Цитата Сообщение от AlexSt Посмотреть сообщение
для интересующихся
http://subscribe.ru/archive/co... 54450.html
Стоит только отметить что данный материал предназначен только для windows XP , под Вистой может что то и будет работать, под семеркой не будет вообще, проверено.
0
3 / 3 / 0
Регистрация: 20.01.2015
Сообщений: 45
20.01.2015, 13:41 11
Цитата Сообщение от solar_wind Посмотреть сообщение
В Qt то делается через QAudioInput
можете поподробнее рассказать? у меня такая же задача, нужно в реальном времени получать кусок захваченного звука определенной длинны.
пробовал сделать так:

C++
1
2
3
4
5
6
QAudioInput*        m_audioInput;
QIODevice*          m_audioIODevice;
 
...инициализация m_audioInput
 
m_audioIODevice = m_audioInput->start();
а что дальше делать не знаю

как из m_audioIODevice брать кусок данных нужной длинны?
как после этого очищать буфер, потому что данные, после того как я их забрал, мне больше не нужны в буфере
при воспроизведении из файла использовал audioNotify() чтобы по событию делать нужную обработку, а тут не найду что мне нужно
0
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
20.01.2015, 13:51 12
ni_ko, Вот здесь посмотри, я выкладывал:
Баг QAudioInput + readyRead
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2015, 13:51

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Захват звука
Необходимо захватить звук на компьютере, неважно что это будет музыка или звук открытие папки.......

Захват изображения со второго монитора
Как захватить изображение со ВТОРОГО монитора в системе? Код ниже захватывает изображение всегда...

Как сделать захват видео с видеорегистратора
Всем привет. Имеется видеорегистратор, который делает захв видео и аудио сигнал, для просмотра...

Захват потока данных с аудиокарты с высокой точностью, не аудио
Уважаемые форумчане, здравствуйте! Сталкнулся с такой проблемой: необходимо расшифровать протокол...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.