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

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

Table of content ;CD( таблица содержания Компакт Диска) [D5, Win95/98]


Sergn ©   (2002-03-25 17:37:00) 

Как прочитать Table of content CD. Например список музыкальных сэмплов из AUDIO-CD?


Sergn   (2002-04-01 20:01:00) [1]

>Donal_Graeme
Спасибо за информацию. Буду вести поиски в новом направлении


vuk   (2002-04-01 18:53:00) [2]

Кстати о птичках, на CD бываютзаписаны и названия треков (т.н. CD Text). Правда где и в каком виде она там хранится я не в курсе.


Donal_Graeme   (2002-04-01 18:45:00) [3]

кстати, посмотри ещё www.freedb.org, там вроде как есть компонент для Дельфи 5, 6, который достаёт данные с этого сервера


Donal_Graeme   (2002-04-01 18:33:00) [4]

именно так.


Sergn   (2002-04-01 18:19:00) [5]

Т е, как я понял, если компьютер не подключен к интернету, а в CD
привод вставлен AUDIO CD , то проигрыватель не сможет показать названия музыкальных композиций.


Donal_Graeme   (2002-04-01 17:49:00) [6]

база располагается в интернете. Для более детальной информации - http://www.cddb.com


Sergn   (2002-04-01 17:42:00) [7]

Что это за база данных CDDB? (Как я понял Compact Disk Data Base). И где она располагается, если названия треков на диске не записаны?

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


Donal_Graeme   (2002-04-01 17:18:00) [8]

названия треков проигрыватели получают обращаясь к базе данных CDDB. А на диске они не записаны.


Sergn   (2002-04-01 16:49:00) [9]

Прочитал о содержании CDA файлов. Но там лишь содержится информация о номере трека, о расположении его начала и длине.

Такую информацию можно получить через MCI( Media Control Interface) API. Мне же нужно узнать названия
музыкальных сэмплов , как это делают проигрыватели компакт дисков. Эту информацию я и надеюсь получить из TOC.


Donal_Graeme   (2002-04-01 15:52:00) [10]

эти CDA файлы несут информацию о положении трека на диске. точнее не скажу. попробуй поискать описание на www.wotsit.org


Sergn   (2002-04-01 15:38:00) [11]

>Donal_Graeme
При открытии AUDIO диска в эксплорере, видны только файлы .CDA,
(размер по 44 байта). Но я не могу понять какую они несут информацию.

Кстати нашел через MSDN и через "//winioctl.h" описание
структуры CDROM_TOC и то, как получить system I/O control codeIOCTL_CDROM_READ_TOC.

Но для того, чтобы их использовать, нужно получить Handle CD диска.
Но под Win9x
CreateFile("e:", GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING, 0,nil)
и
CreateFile("\\.\e:", GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING, 0,nil)
возвращают INVALID_HANDLE_VALUE

Также не уверен , что под win9x сработает DeviceIoControl с указанными параметрами (см. выше).Пока что я имею сведения,
что они работают с NT ядром.

Може быть, можно получить информацию о CD TOC через юзание vwin32.vxd и ассемблерную вставку.


Donal_Graeme   (2002-04-01 15:00:00) [12]

вообще-то каждый трек в эксплорере представляется как файл, причём в RIFF формате. имхо, чтобы содержимое прочитать можно обычными файловыми функциями воспользоваться


Sergn   (2002-04-01 11:13:00) [13]

Может есть какие либо API функции для работы под Win9x?

Я нашел лишь следующее:

hCdrom =CreateFile("e:", GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,nil);
DeviceIoControl(hCdrom,IOCTL_CDROM_READ_TOC,nil,0,pToc, sizeof(CDROM_TOC), @ReturnedByteCount, nil);

Но Delphi не находит описание структур API: IOCTL_CDROM_READ_TOC
и CDROM_TOC.(Visual C++ тоже. Не находит файл ntddcdrm.h)
Насколько мне известно эти стркутуры можно использовать лишь начиная с win2k и winXP.

Может как-то можно узнать адрес начала трека Lead-in , где и записана TOC? Moжет кто-нибудь подскажет с ассемблерной вставкой,
работающей под WIN9x.

Help please. Oчень нужна информация по чтению CDROM TOC.


Наверх

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