Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CD-ROM [D7, WinXP]


Страницы:   1 2

VitalikS ©   (2006-02-09 02:58:00) 

Подскажите пожалуйста как узнать букву CD-ROM'а который подклучен к материнке, т.е. является аудио CD-ROM.


VitalikS   (2006-02-10 16:26:00) [1]


> Зато ты указал id дивайса! На тот же CD ты можешь подцепить
> еще 2,3,5, да хоть десяток "букв", если они у тебя еще останутся.
>  В конечном итоге система выйдет через любую букву все равно
> на этот id.

Ясно спасибо. А жаль.....


evvcom   (2006-02-10 16:18:00) [2]


> Причем не указывая буквы CD-ROM'а.

Зато ты указал id дивайса! На тот же CD ты можешь подцепить еще 2,3,5, да хоть десяток "букв", если они у тебя еще останутся. В конечном итоге система выйдет через любую букву все равно на этот id.


evvcom   (2006-02-10 16:12:00) [3]


> Это всё равно что пытаться определить к какому выходу подключены
> колонки.

А вот это кстати совсем не фантастика. Где-то с год-два назад звал меня сосед машинку его посмотреть. Что-то там со звуком он не мог разобраться. Звук 5.1 интегрирован на мать (вроде тот же АС97). Залез в настройки дров и диву дался. Предположил, что карта сама определяет, что подключено на ее входы/выходы. Т.е. одни и те же разъемы могут использоваться как входы, так и выходы. Либо 6 колонок (звук 5.1), либо 2 колонки + наушники + микрофон, либо другие комбинации. Поэкспериментировал. Подключил наушники туда, где только что был микрофон, а микрофон - на место колонок. Смотрю картинка тут же изменилась. Видимо по сопротивлению карта определяет, что подключено. И соответственно через драйвер можно эту инфу добыть. Но... естественно карта должна быть соответствующей и дрова также.


Digitman   (2006-02-10 16:01:00) [4]

Автору разница между "цифрой" и "аналогом" неведома - какие же м.б. разговоры на сию тему ?


VitalikS   (2006-02-10 16:00:00) [5]

Но серийник же я могу получить!!! Причем не указывая буквы CD-ROM'а.


McSimm   (2006-02-10 15:38:00) [6]

а факт наличия проводочка (аудио-кабель 3 жилы) определить невозможно, т.к. это то по сути равносильно подключенным наушникам или микрофону.


tesseract   (2006-02-10 15:37:00) [7]


> Мне нужно определить букву CD-ROM'а который подключен к
> звуковой карте.


Такое нереально. Это всё равно что пытаться определить к какому выходу подключены колонки.

Тем более что CD может быть подключён как по SPDIF, так и по аналогу.

Чем тебя сканирование на CD-A не привлекает? Тем более "проводочками" никто из медиа-плйеров не пользуется (у меня был цифровой но я его отключил за ненадобностью).


McSimm   (2006-02-10 15:35:00) [8]


> Мне нужно определить букву CD-ROM'а который подключен к
> звуковой карте.

в общем случае это просто невозможно, т.к. из N устройств CD в системе к звуковым картам могут быть подключены от 0 до N устройств.
При этом, если не ошибаюсь, где-то в настройках есть возможность указать какое именно из устройств программы воспроизведения должны использовать по умолчанию (при этом никто не мешает указать другое).

Есть ли такая настройка на самом деле я точно не помню и как определить - не знаю, я просто попробовал дать направление.


Digitman   (2006-02-10 15:32:00) [9]


> Мне нужно определить букву CD-ROM'а который подключен к
> звуковой карте



А если таковых ФИЗИЧЕСКИ нет, но медиа-плейер НЕПОСТИЖИМЫМ ОБРАЗОМ воспроизводит медиа-данные с компакт-диска ?


VitalikS   (2006-02-10 15:28:00) [10]


> быть может автору нужно определить привод, указанный в системе
> по-умолчанию для воспроизведения аудио-дисков соответствующими
> программами?

Мне нужно определить букву CD-ROM'а который подключен к звуковой карте.
Напиши пожалуйста как определить то о чём ты написал, я сразу скажу то или нет.


VitalikS   (2006-02-10 15:25:00) [11]


> и где в этом коде упоминание "проводочка"?

Создается МедиаПлеер (это видно по первым строчкам), а он сам знает (к сожалению не знаю каким образом) какой привод ему нужен. Проверь этот код, с CD-ROM без "проводочка" и с ним и посмотри что получится.

> Причем, совсем не обязательно его ("проводочек") цеплять
> именно на вход "CD". На карте есть еще вход "AUX". Поставлю
> я второй сидюк и зацеплю его на AUX, и каким образом системе
> определять (и зачем), с какого устройства на какой из входов
> подается аналоговый сигнал?

Ну мне для проги нужно. Если несколько CD-ROM'ов тогда можно использовать любой, и получать его серийник AudioCD и его букву.

> Ты заблудился в терминах/технологиях/механизмах.

Да вроде нет, в чём именно я заблудился???

> Желаю выбраться.

Спасибо.

Выход всё равно должен быть.


McSimm   (2006-02-10 15:25:00) [12]

быть может автору нужно определить привод, указанный в системе по-умолчанию для воспроизведения аудио-дисков соответствующими программами?


Digitman   (2006-02-10 15:02:00) [13]


> VitalikS   (10.02.06 14:10) [19]


Ты заблудился в терминах/технологиях/механизмах.
Желаю выбраться.


evvcom   (2006-02-10 14:46:00) [14]


> код в [15], автоматически определяет привод CD-ROM тот самый
> который мне и нужно

и где в этом коде упоминание "проводочка"?

> > По "проводочку" тому самому аналоговый сигнал с ЦАП CD-
> дивайса
> > подается на микшер AC97
> Именно так!

Причем, совсем не обязательно его ("проводочек") цеплять именно на вход "CD". На карте есть еще вход "AUX". Поставлю я второй сидюк и зацеплю его на AUX, и каким образом системе определять (и зачем), с какого устройства на какой из входов подается аналоговый сигнал?


VitalikS   (2006-02-10 14:10:00) [15]


> CD-ROM вообще ничего не "проигрывает".
> Проигрывает CD Drive.
> A CD-ROM - это носитель.

Проигрывает, имелось ввиду в переносном смысле.

> В смысле с проводочком или нет?
> И что это даст?

Да именно с проводочком. Этот код автоматически находит какой привод CD-ROM подключен  к звуковой карте (или мат плате), если проводочка нет вылетит ошибка.

> Смелое заявление)

Ну а как ещё если так и есть или ты по другому считаешь?

> По "проводочку" тому самому аналоговый сигнал с ЦАП CD-дивайса
> подается на микшер AC97 в составе AC97-чипа, будь он хоть
> на аудиокарте хоть интегрирован в motherboard.

Именно так!

Но должно же быть какое-то решение этой проблеммы. Ведь приведенный мной код в [15], автоматически определяет привод CD-ROM тот самый который мне и нужно, но как узнать буковку????


Digitman   (2006-02-10 12:59:00) [16]


> VitalikS   (10.02.06 12:27) [15]


По "проводочку" тому самому аналоговый сигнал с ЦАП CD-дивайса подается на микшер AC97 в составе AC97-чипа, будь он хоть на аудиокарте хоть интегрирован в motherboard.

Не более того.


EvS   (2006-02-10 12:55:00) [17]

>и хотелось бы тут же узнать с какого привода он считывается

В смысле с проводочком или нет?
И что это даст?


Digitman   (2006-02-10 12:40:00) [18]


> Именно так, и не только по моему


Смелое заявление)


> CD-ROM не будет проигрывать


CD-ROM вообще ничего не "проигрывает".
Проигрывает CD Drive.
A CD-ROM - это носитель.


VitalikS   (2006-02-10 12:27:00) [19]


> А если его нет, то CD-ROM сразу перестает быть Аudio CD-
> ROM'ом, так по-твоему ?

Именно так, и не только по моему. Однако если проводочка нет это не означает что CD-ROM не будет проигрывать Audio диски.

Я выполняю вот такой код:

var
mp : TMediaPlayer;
msp : TMCI_INFO_PARMS;
MediaString : array[0..255] of char;
ret : longint;
begin
mp := TMediaPlayer.Create(nil);
mp.Visible := false;
mp.Parent := Application.MainForm;
mp.Shareable := true;
mp.DeviceType := dtCDAudio;
mp.FileName := 'D:';
mp.Open;
Application.ProcessMessages;
FillChar(MediaString, sizeof(MediaString), #0);
FillChar(msp, sizeof(msp), #0);
msp.lpstrReturn := @MediaString;
msp.dwRetSize := 255;
ret := mciSendCommand(Mp.DeviceId, MCI_INFO, MCI_INFO_MEDIA_IDENTITY,
  longint(@msp));
if Ret <> 0 then
 begin
  MciGetErrorString(ret, @MediaString, sizeof(MediaString));
  Memo1.Lines.Add(StrPas(MediaString));
 end
else
 Memo1.Lines.Add(StrPas(MediaString));
mp.Close;
Application.ProcessMessages;
mp.free;
end;
Узнаю серийный номер AudioCD, и хотелось бы тут же узнать с какого привода он считывается.


Digitman   (2006-02-10 11:04:00) [20]


> VitalikS   (10.02.06 10:34) [12]


> Именно им.


А если его нет, то CD-ROM сразу перестает быть Аudio CD-ROM'ом, так по-твоему ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо