Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.10.14;
Скачать: [xml.tar.bz2];

Вниз

Прога на другом компе не работает. В проге 3 строчки :(   Найти похожие ветки 

 
Doctor Deejay   (2002-06-28 18:43) [0]

Данный код не срабатывает на компе соседа! В чем трабл???
Только без приколов, бо совсем замучался....

procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
cap: TAuxCaps;
begin
for i := 0 to auxGetNumDevs - 1 do begin
auxGetDevCaps(i, Addr(cap), SizeOf(cap));
ListBox1.Items.Add(cap.szPname)
end;
end;


 
Volj   (2002-06-28 18:56) [1]

А что это за TAuxCaps такой? ActiveX, небось? Если да, то его надо ставить...


 
Doctor Deejay   (2002-06-29 10:41) [2]

>Volj © (28.06.02 18:56)

Нет, эти строки выводят в мемо список всех доступных девайсов звуковой карты


 
Wizard_Ex   (2002-06-29 13:16) [3]

Может у него карты как раз и нету ? :-)


 
Doctor Deejay   (2002-06-30 00:17) [4]

Есть карта. Проверял у 8 челове. У них карты начиная от ЕСС и заканчивая лайвом...

Может все-таки что-то установить нужно?
Напишите кому исходник прислать, пусть у себя перекомпилит и проверит.
Очень нужно, т.к. прога очень полезная, но не работает ни у кого...... :(


 
Doctor Deejay   (2002-06-30 09:31) [5]

НУ ПОМОГИТЕ ХОТЬ ЧЕМ-ТО


 
Polevi   (2002-06-30 09:57) [6]

да, полезная программа :-)


 
Doctor Deejay   (2002-06-30 11:58) [7]

Программа полезная. Но эти три строчки не работают на других тачках. Может дело в ДЛЛ?


 
Anatoly Podgoretsky   (2002-06-30 12:13) [8]

Ряд допольнительных вопросов
1. чему равно auxGetNumDevs
2. какое значение LastError в случае 0

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


 
Doctor Deejay   (2002-06-30 13:56) [9]

У меня на компе она работает, а у других нет.

>Ряд допольнительных вопросов
>1. чему равно auxGetNumDevs

Количеству доступных девайсов


 
Anatoly Podgoretsky   (2002-06-30 14:20) [10]

Да не назначение, а какое количество возвращает


 
NailS   (2002-06-30 15:24) [11]

Попробуй так

begin
if auxGetNumDevs = 0 then ShowMessage(SysErrorMessage(GetLastError));
end;


Если сообщения не будет попробуй отключить оптимизацию кода
и перед циклом присвой i := 0 (своего рода шаманство, но иногда помогает ;))


 
Doctor Deejay   (2002-06-30 19:57) [12]

Ещё раз повторяю - ПРОГА работае только у меня, почему не работает у других?
Ошибка где-то в коде, т.к. систему всю только переставил!

Я попробую сдать так как вы сказали.
Если хотите, то я могу прислать вам exe + исходник. exe работать не будет, пока вы его у себя не скомпилите!!!

Я уже 2 недели трахаюсь с этим


 
Cobalt   (2002-06-30 20:47) [13]

говорит, что параметр задан неверно.
У меня ESS688 PnP AudioDrive
P.S. Приведи примеры карт, у которых обнаружены Auxiliary output devices
Скорее всего, проблема в устройствах


 
Doctor Deejay   (2002-06-30 21:28) [14]

А как мне тогда определить все доступные устройства звуковухи?
Ну т.е. миди, вэйв мик и т.д.


 
Anatoly Podgoretsky   (2002-06-30 21:32) [15]

А мы с 28 спрашивает, какое значение возвращает auxGetNumDevs и если оно равно нулю, то какую ошибку возвращает Windows, тебе даже и код привели NailS © (30.06.02 15:24)


 
Doctor Deejay   (2002-07-02 00:58) [16]

> какую ошибку возвращает Windows, тебе даже и код привели NailS > © (30.06.02 15:24)

при нуле возвращает:
The parameter is incorrect

Причем у трёх моих друзей!


 
Mashinist   (2002-07-02 01:08) [17]

Судя по всему, трабла в железяках.
На первый взгляд - возможно, VIA и Intel.
То есть, дрова к VIA, дрова к аудио и т.д.
Трабла явно не в коде, а в железе.
Опиши конфигурацию.


 
TCArmAgeDDoN   (2002-07-02 09:02) [18]

Не...Ты лучше расскажи , как не работает? Ошибку выдаёт или просто устройства не видет?


 
Doctor Deejay   (2002-07-02 09:39) [19]

if auxGetNumDevs = 0 then ShowMessage(SysErrorMessage(GetLastError));

На других машинах всегда 0
А у меня все нормально!


 
Widemaer   (2002-07-02 09:40) [20]

Пришли свой файлец - посмотрю.


 
alexadvanser   (2002-07-02 09:47) [21]

Я бы тоже хотел взглянуть...


 
Леван   (2002-07-02 10:02) [22]

Я тоже попробовал auxGetNumDevs() на двух машинах
у меня ЕSS 1938, которая устанавливает 2 драивера и auxGetNumDevs
видает 2
Рядом у коллеги Crerative Live и auxGetNumDevs выдает 0
Значит, auxGetNumDevs неправильно срабативает или его функция не совсем понятна:
The auxGetNumDevs function retrieves the number of auxiliary output devices present in the system.

UINT auxGetNumDevs(VOID);

Parameters

This function takes no parameters.

Return Values

Returns the number of device. A return value of zero means that no devices are present or that an error occurred.
Ничего не поделаешь, se la vi!



 
Doctor Deejay   (2002-07-02 10:22) [23]

А КАК ТОГДА ОПРЕДЕЛИТЬ ВСЕ ДОСТУПНЫЕ ДЕВАЙСЫ ЗВУКОВОЙ КАРТЫ???????

Я уверен, что это возможно.

Мне нужно регулировать виндовую громкость.
Если будет другой выход - буду очень раз


 
handra   (2002-07-02 10:37) [24]

а почему auxGetNumDevs, во всяко случае лучше воспользоваться функциями mixer...


 
Doctor Deejay   (2002-07-02 11:03) [25]

Можно пример или хотя бы название функций?


 
Doctor Deejay   (2002-07-02 12:02) [26]

>handra © (02.07.02 10:37)
>а почему auxGetNumDevs, во всяко случае лучше воспользоваться >функциями mixer...

Что за функции?


 
Doctor Deejay   (2002-07-02 13:55) [27]

mixerGetLineInfo - это должно помочь?


 
Севостьянов Игорь   (2002-07-02 14:15) [28]

Есть тут у меня компонент + пример для твоего случая
Там и определение устроств и запись в файл, и проигрыш, и регулятор звука

Ну например вот куски оттуда

function TMixerSettings.Query(var Product,Formats:string):boolean;
var
PMix : PMixDetails;
i : integer;
begin
Result:=false;
Product:=""; Formats:="";
if MixerReady then begin
if (mixerGetNumDevs=0) then begin
Formats:="Mixer not present";
end else begin
PMix:=MixerStart;
if PMix<>nil then Product:=PMix.Name;
Formats:="Mixer devices present: "+IntToStr(mixerGetNumDevs)+". DeviceID "+
IntToStr(FAudio.FMixerDeviceID)+" has:";
i:=0; PMix:=PMix^.Next;
while PMix<>nil do begin
if (PMix.Destination=i) then begin
Formats:=Formats+#13#10+PMix.Name+": ";
i:=i+1;
end else begin
Formats:=Formats+PMix.Name+", ";
end;
PMix:=PMix^.Next;
end;
Result:=true;
end;
end;
end;

Надо ? Пиши на мыло, пришлю, но компиляция не проходит (разработчик в пример напихал еще кучу хлама типа Оссцилограф для отображения уровня звука наверное)

Не помещается все ...


 
Севостьянов Игорь   (2002-07-02 14:17) [29]

Есть просто регулятор звука для разных устройств

вот кусок оттуда

function TAudioMixer.SetVolume (ADestination,AConnection:Integer;LeftVol,RightVol,Mute:Integer):Boolean;
var MD:TMixerDestination;
MC:TMixerConnection;
Cntrls:TMixerControls;
MCD:TMixerControlDetails;
Cntrl:PMixerControl;
A,B:Integer;
ML:TMixerLine;
details:array [0..30] of Integer;
VolSet,MuteSet:Boolean;
begin
Result:=False;
MD:=Destinations[ADestination];
If MD<>nil then
begin
If AConnection=-1 then
begin
Cntrls:=MD.Controls;
ML:=MD.Data;
end
else
begin
MC:=MD.Connections[AConnection];
If MC<>nil then
begin
Cntrls:=MC.Controls;
ML:=MC.Data;
end
else
Cntrls:=nil;
end;
If Cntrls<>nil then
begin
A:=0;
VolSet:=LeftVol=-1;
MuteSet:=Mute=-1;
Result:=True;
while (not VolSet OR not MuteSet) AND (A<Cntrls.Count) do
begin
Cntrl:=Cntrls[A];
If Cntrl<>nil then
begin
If ((Cntrl.dwControlType = MIXERCONTROL_CONTROLTYPE_VOLUME) OR
(Cntrl.dwControlType = MIXERCONTROL_CONTROLTYPE_MUTE)) AND
(Cntrl.fdwControl AND MIXERCONTROL_CONTROLF_MULTIPLE<>MIXERCONTROL_CONTROLF_MULTIPLE)
then
begin
MCD.cbStruct:=SizeOf(TMixerControlDetails);
MCD.dwControlID:=Cntrl.dwControlID;
If Cntrl.fdwControl AND MIXERCONTROL_CONTROLF_UNIFORM>0 then
MCD.cChannels:=1
else
MCD.cChannels:=ML.cChannels;
MCD.cMultipleItems:=0;
MCD.cbDetails:=SizeOf(Integer);
MCD.paDetails:=@Details;
If (Cntrl.dwControlType=MIXERCONTROL_CONTROLTYPE_VOLUME) AND not VolSet then
begin
Details[0]:=LeftVol;
If RightVol=-1 then
Details[1]:=LeftVol
else
Details[1]:=RightVol;
VolSet:=True;
end
else
If (Cntrl.dwControlType=MIXERCONTROL_CONTROLTYPE_MUTE) AND not MuteSet then
begin
Details[0]:=Mute;
MuteSet:=True;
end;
mixerSetControlDetails (FMixerHandle,@MCD,MIXER_GETCONTROLDETAILSF_VALUE);
end;
end;
Inc (A);
end;
If not MuteSet then
begin
If AConnection<>-1 then
begin
Cntrls:=MD.Controls;
ML:=MD.Data;
If Cntrls<>nil then
begin
A:=0;
while not MuteSet AND (A<Cntrls.Count) do
begin
Cntrl:=Cntrls[A];
If (Cntrl.dwControlType = MIXERCONTROL_CONTROLTYPE_MIXER) OR
(Cntrl.dwControlType = MIXERCONTROL_CONTROLTYPE_MUX) then
begin
MCD.cbStruct:=SizeOf(TMixerControlDetails);
MCD.dwControlID:=Cntrl.dwControlID;
If Cntrl.fdwControl AND MIXERCONTROL_CONTROLF_UNIFORM>0 then
MCD.cChannels:=1
else
MCD.cChannels:=ML.cChannels;
If Cntrl.fdwControl AND MIXERCONTROL_CONTROLF_MULTIPLE=MIXERCONTROL_CONTROLF_MULTIPLE then
MCD.cMultipleItems:=Cntrl.cMultipleItems
else
MCD.cMultipleItems:=0;
MCD.cbDetails:=4;
MCD.paDetails:=@Details;
MuteSet:=True;
mixerGetControlDetails (FMixerHandle,@MCD,MIXER_GETCONTROLDETAILSF_VALUE);
if (Cntrl.dwControlType = MIXERCONTROL_CONTROLTYPE_MUX) then
For B:=0 to Cntrl.cMultipleItems-1 do
Details[B]:=0;
Details[AConnection]:=Mute;
mixerSetControlDetails (FMixerHandle,@MCD,MIXER_GETCONTROLDETAILSF_VALUE);
end;
Inc (A);
end;
end;
end;
end;
end;
end;
end;


Все идет через Mixer, я не разбирался мне не надо...
У себя эти вещи проверил под Win2000
А твой пример не работает т.к. auxGetNumDevs = 0


 
Doctor Deejay   (2002-07-02 14:59) [30]

И где тут для микрофона?
На мыло выслал!


 
Севостьянов Игорь   (2002-07-02 15:40) [31]

На мыло выслал...
Посмотришь может и для микр-на есть... Я не смотрел...
Блин еле отправил тебе письмо - mail.ru глючил...
Если пришло несколько - моя вина - сервер б-дский


 
asmer   (2002-07-04 00:42) [32]

auxGetNumDevs - возвращает количество _дополнительных_ устройств вывода на карте... а на многих современных картах таких вааще нету :) потому, что установленные на какой-нить сб-платине выходы под тыловые колонки недоступны для апишного доступа, к ним через дрова обращаются... а функция mixerGetNumDevs возвращает количество всех устройств, доступных на плате... типа, и об ентом уже сказал товарисч... млин... как его... скроллинг на мышке чё-та заглючил... больше никого с грязными руками к моему компу не подпущу!..


 
B_Sergey   (2002-08-05 23:20) [33]

У тебя плохой комп, выкень его или поменяйся с соседом.



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

Форум: "Система";
Текущий архив: 2002.10.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.008 c
1-45331
Avsam
2002-10-04 14:25
2002.10.14
Вертикальный TLabel


14-45562
~Rand~
2002-09-20 12:23
2002.10.14
Есть тут хацкеры?


6-45494
kosmach
2002-08-13 08:47
2002.10.14
ServerSocket Connections


1-45443
glina
2002-10-03 17:23
2002.10.14
Подскажите неопытному


4-45651
Soul2
2002-08-31 01:46
2002.10.14
ОКНА





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский