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

Захват звука

16.12.2009, 05:32. Показов 3858. Ответов 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
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,020
16.12.2009, 08:44 2
Все зависит от того под какой операционкой, на каком языке программирования пишешь...
Или ты хочешь железку спаять, которая будет этот звук перехватывать?
0
4199 / 1791 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
16.04.2010, 06:33  [ТС] 3
c++ и винда.
0
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,020
16.04.2010, 06:41 4
Цитата Сообщение от taras atavin Посмотреть сообщение
c++ и винда.
Это тоже довольно абстрактно.
На MFC я использовал mmsystem.h, mmreg.h, наверное это будет работать и на WinAPI, не проверял.
Можно работать с DirectDraw.
В Qt то делается через QAudioInput
0
4199 / 1791 / 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
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,020
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
4199 / 1791 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
16.04.2010, 07:53  [ТС] 7
Как раз по этой ссылке:
Библиотека MFC, как и ее основной конкурент, Borland VCL...
Значит, без MFC. GUI только API и директом.
0
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,020
16.04.2010, 07:59 8
mmsystem.h кажется из без MFC должен работать, нужно проверять.
0
61 / 60 / 9
Регистрация: 13.01.2009
Сообщений: 322
28.06.2010, 06:10 9
для интересующихся
http://subscribe.ru/archive/co... 54450.html

0
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,020
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
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,020
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 - 2021, vBulletin Solutions, Inc.