Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.31;
Скачать: CL | DM;

Вниз

как снять звук с микрофона и тут же его выводить на колонки   Найти похожие ветки 

 
zvukoff   (2007-11-07 15:17) [0]

каким самым простым способом можна снять звук с микрофона и  сразу же его воспроизводить


 
Сергей М. ©   (2007-11-07 15:51) [1]

Два проводка, соединяющие микрофон с колонками, - куда уж проще)


 
zvukoff   (2007-11-07 16:28) [2]


>  самым простым способом

имеется ввиду програмно! с помощью Delphi! )


 
Сергей М. ©   (2007-11-07 16:38) [3]


> имеется ввиду програмно


Для этого и программу писать не надо - все это настраивается в виндовом микшере двумя кликами мыши.


 
zvukoff   (2007-11-07 17:55) [4]


> Сергей М. ©   (07.11.07 16:38) [3]
>
>
> > имеется ввиду програмно
>
>
> Для этого и программу писать не надо - все это настраивается
> в виндовом микшере двумя кликами мыши.


??????????????????????


 
Сергей М. ©   (2007-11-08 08:53) [5]

Правда, такая возможность напрямую зависит от возможностей конкретного  аудиочипсета


 
T54   (2007-11-08 18:06) [6]

С помощью DirectSHow строите граф - на входе мкрофон, на выходе SoundDevice


 
zvukoff   (2007-11-08 21:18) [7]

с микрофона я снял, хоть криво но для начала неплохо и снова проблема, все что снимается с микрофона пуляем по UDP
а вот как его там воспроизвести по получению, толком ничего не получается!
никогда не приходилось со звуком играться, извините! намекните или ответом или ссылкой!


 
Сергей М. ©   (2007-11-09 08:24) [8]


> как его там воспроизвести по получению, толком ничего не
> получается


Показывай как пробовал ..


 
zvukoff   (2007-11-09 10:49) [9]

примерно так, хотя как он работает понял еще смутно)

var
  Evt:THandle;
  Fmt:tWAVEFORMATEX;
  Hdr:TWaveHdr;
  WO:HWAVEOUT;
  FS:TFileStream;
  Data:Pointer;
  Size,i:Integer;
  ch:PChar;
begin

  FS:=TFileStream.Create("data.txt",fmOpenRead);
  Size:=FS.Size;
  GetMem(Data,Size);
try
  FS.ReadBuffer(Data^,Size);
  FS.Free;

  Evt:=CreateEvent(nil,False,False,nil);
  ZeroMemory(@Fmt,SizeOf(Fmt));
  ZeroMemory(@Hdr,SizeOf(Hdr));
  Fmt.wFormatTag:=WAVE_FORMAT_PCM;
  Fmt.nChannels:=1;
  Fmt.nSamplesPerSec:=44100;
  Fmt.nAvgBytesPerSec:=44100;
  Fmt.wBitsPerSample:=16;
  Fmt.nBlockAlign:=4;
  Fmt.cbSize:=SizeOf(Fmt);


  if waveOutOpen(@WO,0,@Fmt,Evt,0,CALLBACK_EVENT)<>MMSYSERR_NOERROR then Halt(1);
  Hdr.lpData:=Data;
  Hdr.dwBufferLength:=Size;
  waveOutPrepareHeader(WO,@Hdr,SizeOf(Hdr));
  ResetEvent(Evt);
  waveOutWrite(WO,@Hdr,SizeOf(Hdr));
  WaitForSingleObject(Evt,Infinite);
  waveOutUnprepareHeader(WO,@Hdr,SizeOf(Hdr));
  waveOutClose(WO);
  CloseHandle(Evt);
finally
  FreeMem(Data,Size);
end;


 
Сергей М. ©   (2007-11-09 10:53) [10]


> zvukoff   (09.11.07 10:49) [9]


И где в этом коде хоть какое-либо упоминание о UDP ?


 
zvukoff   (2007-11-09 11:13) [11]


> И где в этом коде хоть какое-либо упоминание о UDP ?


procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
 ABinding: TIdSocketHandle);
var
 ....
begin
 Size:=AData.size;
 GetMem(Data,Size);
try
 AData.ReadBuffer(Data^,Size);
...............
ну и далее уже все было...
подозреваю что все ето нужно вынести в отдельный поток


 
Сергей М. ©   (2007-11-09 11:27) [12]


> zvukoff   (09.11.07 11:13) [11]


Ты осознаешь, что UDP - протокол без гарантии доставки и без гарантии соблюдения исходного порядка отправляемых дейтаграмм в последовательности принимаемых ?


 
Dib@zol ©   (2007-11-09 11:29) [13]

Зато он быстрый, а потеря скажем десяти из 44 уровней сигнала, которые замеряются на микрофоне каждую 1/1000 секунды, не сможет на слух очень уж сильно ухудшить качество.


 
zvukoff   (2007-11-09 11:58) [14]


> Dib@zol ©   (09.11.07 11:29) [13]
>
> Зато он быстрый, а потеря скажем десяти из 44 уровней сигнала,
>  которые замеряются на микрофоне каждую 1/1000 секунды,
> не сможет на слух очень уж сильно ухудшить качество.

хотел тоже самое сказать, но уже нет сил)
да даже если убить каждый второй байт, да даже из четырех три то все равно качество звука для голоса сносно)


> Сергей М. ©   (09.11.07 11:27) [12]
>
>
> > zvukoff   (09.11.07 11:13) [11]
>
>
> Ты осознаешь, что UDP - протокол без гарантии доставки и
> без гарантии соблюдения исходного порядка отправляемых дейтаграмм
> в последовательности принимаемых ?


при чем протоколы в разделе MEDIA
????????????????????????


 
Сергей М. ©   (2007-11-09 12:08) [15]


> при чем протоколы в разделе MEDIA ?


А я откуда знаю при чем они тут ?

Судя по содержимому файла и по коду обработчика UDPRead ты не используешь никакие медиапротоколы - гоняешь по сети никак не обработанные PCM-данные


 
Сергей М. ©   (2007-11-09 12:12) [16]


> zvukoff


Жми сюда
http://www.droopyeyes.com

качай готовые компоненты и будь счастлив)


 
zvukoff   (2007-11-09 14:04) [17]


> Сергей М. ©   (09.11.07 12:12) [16]
>
>
> > zvukoff
>
>
> Жми сюда
> http://www.droopyeyes.com
>
> качай готовые компоненты и будь счастлив)

организовал в потоке, заработало
и звук нормальный и протокол ненадежный и нет качества доставки и без сторонних компонентов, прикол да
нет подсказать сразу звук в отдельный поток, так протокол какой, а негарантированная доставка, медиапротоколы, компоненты, код, про микшер и два проводка особенно мне понравилось)
хотя все равно спасиба за потраченное время!


 
Сергей М. ©   (2007-11-09 14:32) [18]


> организовал в потоке


Можно подумать, что изначально ты организовал всю эту петрушку не в потоке, а на Луне)


> звук в отдельный поток


Какая нафих разница, в каком потоке "звук" ?)


> прикол да


Угу.

Когда разведешь своего клиента и сервера по разным углам Тырнета, или когда  поднагрузишь чем-нибудь свою ЛВС посерьезней - вот тогда и будет "прикол")



Страницы: 1 вся ветка

Текущий архив: 2009.05.31;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.013 c
2-1239867280
zz14
2009-04-16 11:34
2009.05.31
позиция символа в TEdit


11-1201117485
Vinum
2008-01-23 22:44
2009.05.31
Как скопировать рисунок из канвы в буфер


15-1238142263
Cyrax
2009-03-27 11:24
2009.05.31
Челночные автобусы в Москве в р-не станций Молодёжная/Кунцевская


9-1180170280
@!!ex
2007-05-26 13:04
2009.05.31
Косяк с освещением.


15-1237592324
Kerk
2009-03-21 02:38
2009.05.31
Посоветуйте чего посмотреть