Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.09.2011, 16:46
x4b x4b вне форума
Прохожий
 
Регистрация: 05.09.2011
Сообщения: 3
Репутация: 10
По умолчанию Связка Bass.dll и компанентов indy UDP

Здравствуйте... пытаюсь отправить от клиента indyuUDPclient-а звук с микрофона... а на сервере пытаюсь принять через indyUDPserver и воспроизвести этот звук, но увы как не стораюсь звук получаеться с каким то треском шипом и т.д.

ниже код просьба знатоков помочь разобраться...

клиент...

PHP код:
function RecordingCallback(HandleHRECORDbufferPointerlengthuserDWord): booleanstdcall;
begin
  Form1
.IdUDPClient1.SendBuffer(buffer^, length);
  
Result := True// continue recording
end;

procedure TForm1.Button1Click(SenderTObject);
begin
  IdUDPClient1
.Active := True;
  
rchan := BASS_RecordStart(441002MakeLong(01), @RecordingCallbacknil);
end;

procedure TForm1.FormCreate(SenderTObject);
begin
  r_Init 
:= BASS_RecordInit(-1);
end

сервер...

PHP код:
procedure TForm1.Button1Click(SenderTObject);
begin
  IdUDPServer1
.Active := True;
  
BASS_ChannelPlay(chanFalse);
end;

procedure TForm1.FormCreate(SenderTObject);
begin
  BASS_Init
(-1441000Handlenil);
  
chan := BASS_StreamCreate(4410020STREAMPROC_PUSHnil);
end;

procedure TForm1.IdUDPServer1UDPRead(SenderTObjectADataTStream;
  
ABindingTIdSocketHandle);
begin
  
//как здесь обработать принетый TStream незнаю все перепробовал...
  
BASS_StreamPutData(chan, ???, ???);
end

Помогите уважаемые знатоки.... Заранее благодарен...
Ответить с цитированием
  #2  
Старый 05.09.2011, 18:22
einstein einstein вне форума
Начинающий
 
Регистрация: 02.09.2010
Адрес: Город
Сообщения: 143
Репутация: -4653
По умолчанию

а если без передачи по сети воспроизволить нормально будет?
Ответить с цитированием
  #3  
Старый 05.09.2011, 19:56
x4b x4b вне форума
Прохожий
 
Регистрация: 05.09.2011
Сообщения: 3
Репутация: 10
По умолчанию

Цитата:
Сообщение от einstein
а если без передачи по сети воспроизволить нормально будет?

конечно будет пробовол я так работает...

Зделал вот таким образома...
PHP код:
procedure TForm1.IdUDPServer1UDPRead(SenderTObjectADataTStream;
  
ABindingTIdSocketHandle);
var
 
buff Pointer;
begin
  GetMem
(buffAData.Size);
  
AData.ReadBuffer(buff^, AData.Size);
  
BASS_StreamPutData(chanbuffAData.Size);
  
FreeMem(buffAData.Size);
end

вроде работает но только при первом запуске клиента... при повторном запуске клиента... начинается треск шип и всякая х... подскажите что делать?
Ответить с цитированием
  #4  
Старый 06.09.2011, 08:20
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

а максимальный размер UDP пакета не превышаешь? тут:
Код:
function RecordingCallback(Handle: HRECORD; buffer: Pointer; length, user: DWord): boolean; stdcall; 
begin 
  Form1.IdUDPClient1.SendBuffer(buffer^, length);
  Result := True; // continue recording 
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 06.09.2011, 08:44
x4b x4b вне форума
Прохожий
 
Регистрация: 05.09.2011
Сообщения: 3
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
а максимальный размер UDP пакета не превышаешь? тут:
Код:
function RecordingCallback(Handle: HRECORD; buffer: Pointer; length, user: DWord): boolean; stdcall; 
begin 
  Form1.IdUDPClient1.SendBuffer(buffer^, length);
  Result := True; // continue recording 
end;

понел тогда другой вопрос максимальный пакет udp можно изменить?
или надо пакеты както в процедуре разбивать?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:45.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025