Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
FarStar
Заблокирован
#1

Как захватить звук с микрофона? - C++

27.03.2013, 22:45. Просмотров 2183. Ответов 8
Метки нет (Все метки)

Собственно интересует тема топика. Наверное делается это так: создаётся какой - то буфер и начинается запись в него до тех пор, пока он не запольнится, далее буфер копируется куда надо, обнуляется и запись начинается заново. Собственно, как это можно реализовать? Желательно без SDL или DirectShow.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2013, 22:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как захватить звук с микрофона? (C++):

Снимать звук с микрофона и воспроизводить звук из консоли - C++
Гуру, подскажите, тяжело ли подобное? Накапливать в буферах, обрабатывать и воспроизводить измененное... В делфи когда-то подбное...

Записать звук с микрофона в буфер - C++
При выполнении pDSCBuffer1->Release() вылетает исключение (см. картинку) В чем проблема? #include <iostream> #include...

Как захватить динамически память, не зная заранее, какое количество памяти надо? - C++
задание Считайте все записи из файла "6.dat". Для чтения каждой отдельной записи осуществите динамический захват памяти. Предполагается,...

Захватить исходные данные из файла - C++
Доброе утро! Собственно вопрос: есть некое выражение, ну пускай упростим до (a+b) / b^2 и возьмем значения для теста a = 1000; b =...

Как "захватить" окно и нажать "Ok"? - C++
Здравствуйте. На ПК сотрудниках устанавливаем программу, в конце выходит окошка и нужно нажать ок! как захватить данное окно и нажать...

Как вывести многоканальный звук ? - C++
Нет ли у кго информации по программированию вывода звука на многоканальные звуковые карты. Единственным хорошо описанным способом...

8
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
28.03.2013, 05:47 #2
Врядли, скорее скользящий буфер типа очередь на массиве, с одного конца карта дописывает куски, а с другого регулярно берёшь данные и скролишь весь массив на размер взятых данных.
0
FarStar
Заблокирован
28.03.2013, 08:48  [ТС] #3
Ну а через что ваще можно получить выборки с микрофона то? Через windows mmio ?
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
28.03.2013, 09:31 #4
если под windows - mciSendString
0
FarStar
Заблокирован
28.03.2013, 10:40  [ТС] #5
Цитата Сообщение от Игорь с++ Посмотреть сообщение
если под windows - mciSendString
А не продемонстрируешь хоть маленький кусок кода, который бы получал выборки с микрофона с помощью этого зверя?
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
28.03.2013, 12:04 #6
FarStar, сейчас с телефона сижу,до вечера если сам ненароеш инфы,то вечером покажу.

Добавлено через 1 минуту
проект консольный?
0
FarStar
Заблокирован
28.03.2013, 12:11  [ТС] #7
Цитата Сообщение от Игорь с++ Посмотреть сообщение
проект консольный?
Да без разницы. Ну пусть будет консольный. А так ваще вот в виндусе есть же галочка "прослушать с устройства", вот через что она работает? :-)
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
28.03.2013, 13:40 #8
как прослушать я хз как,а вот записать и сохранить в файл могу показать.
0
FarStar
Заблокирован
28.03.2013, 13:58  [ТС] #9
Цитата Сообщение от Игорь с++ Посмотреть сообщение
а вот записать и сохранить в файл могу показать.
Нууу.... это я и сам знаю. Заполняешь структуру типа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct WaveHeader
{
  DWORD ID_CHUNK;  
  DWORD ID_SIZE;      
  DWORD ID_FORMAT;    
  DWORD ID_FMT;      
  DWORD ID_PCM;      
  WORD  ID_AUDIO;  
  WORD  ID_CHANNEL;    
  DWORD ID_FR_RATE;    
  DWORD ID_BYTE_RATE; 
 
  WORD  ID_BLOCK;  
  WORD  ID_BIT_RATE;  
 
  DWORD ID_SUB_DATA;  
  DWORD ID_SIZE_DATA; 
};
кидаешь её первой в бинарник, а потом циклом туда данные загоняешь побайтно в последовательности определяемой стерео/моно и сколько бит.

Добавлено через 1 минуту
Цитата Сообщение от Игорь с++ Посмотреть сообщение
как прослушать я хз как
Или ты имеешь ввиду, что как прослушать получаемые данные с микрофона не знаешь, а как их с него получить и просто загнать в какой - нибуть вектор ты знаешь? Если так - тогда помогай!
0
28.03.2013, 13:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2013, 13:58
Привет! Вот еще темы с ответами:

Как записывается звук в 2е данные? - C++
Не пойму, как мне проверить сигнал с микрофона. Тип файла:Моно Размер без сжатия:85 bytes Формат файла:Windows PCM 130,00 bytes ...

как добавить звук в программу, - C++
как добавить звук в программу, какие библиотеки и функции

Как задать звук в консоли - C++
Не как не могу найти функцию которая воспроизводить стандартный звук из колонок

Подскажите, как сделать звук в Морзянке? - C++
подскажите пожалуйста, как сделать так чтоб звук издавался? если добавить beep(1000,500); то выдает ошибку(прототип функции) если...


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

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

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