Вопрос № 24227: Помогите пожалуйста !!! Дело в том что на компе две звуковухи, и надо сделать вывод сигнала раздельным - т.е. одна музыка - на первую звуковуху, другая - на вторую. Возможно ли научить этому делфовский медиаплейер, а если возможно то как ?...Вопрос № 24232: Здраствуйте, мне нужно написать менеджер фаилов который работалбы между двумя компами, желательно используя компоненты TClientSocket и TServerSocket.
Заранее спасибо....
Вопрос № 24.227
Помогите пожалуйста !!! Дело в том что на компе две звуковухи, и надо сделать вывод сигнала раздельным - т.е. одна музыка - на первую звуковуху, другая - на вторую. Возможно ли научить этому делфовский медиаплейер, а если возможно то как ?
Отправлен: 29.07.2005, 18:24
Вопрос задал: Skynet79 (статус: Посетитель)
Всего ответов отправлено: 1
Отвечает: Ddeedd
Здравствуйте, Skynet79!
Вроде бы все медиаплееры (через MCI которые) используют одну выбранную звуковуху - ее можно задать в панели управления. Если же хотите выводить звук в две - можно использовать WinApi-шные функции waveOutxxx - они позволяют воспроизводить на заданном устройстве - только вам придется самому читать и распаковывать файл (распаковывать можно через ACM) - это вроде единственный интерфейс, позволяющий задать устройство вывода - даже DirectSound и тот сам устройство выбирает.
Ответ отправил: Ddeedd (статус: 3-ий класс)
Отправлен: 29.07.2005, 20:40
Вопрос № 24.232
Здраствуйте, мне нужно написать менеджер фаилов который работалбы между двумя компами, желательно используя компоненты TClientSocket и TServerSocket.
Заранее спасибо.
Отправлен: 29.07.2005, 21:16
Вопрос задал: Станислав (статус: 1-ый класс)
Всего ответов отправлено: 2
Отвечает: Ddeedd
Здравствуйте, Станислав!
Ну пишите себе на здоровье - проблема то в чем?
Или вам готовый менеджер уже нужен?
В использовании сокетов вроде нет сложностей - для такого задания рекомендую синхронный режим, придумываете себе протокол, делаете на серевере поток ожидание коннекта, потом по одному потоку для обмена данными на клиента, в клиентской части - всего один поток для обмена и все.
Ответ отправил: Ddeedd (статус: 3-ий класс)
Отправлен: 29.07.2005, 22:13
Отвечает: Werewolf
Здравствуйте, Станислав!
Это пример из Delphi World
unit Unit1;
procedure TForm1.FormCreate(Sender: TObject);
begin
FStream := nil;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if Assigned(FStream) then
begin
FStream.Free;
FStream := nil;
end;
end;
procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
if Assigned(FStream) then
begin
FStream.Free;
FStream := nil;
end;
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
FStream := TFileStream.Create('c: emp est.stream.html', fmCreate or fmShareDenyWrite);
end;
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Socket.SendStream(TFileStream.Create('c: emp est.html', fmOpenRead or fmShareDenyWrite));
end;