Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.27;
Скачать: CL | DM;

Вниз

Table of content CD( таблица содержания Компакт Диска)   Найти похожие ветки 

 
Sergn   (2002-03-25 17:37) [0]

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


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

Может есть какие либо 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.


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

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


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

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

Кстати нашел через MSDN и через "//winioctl.h" описание
структуры CDROM_TOC и то, как получить system I/O control code IOCTL_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:52) [4]

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


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

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

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


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

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


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

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

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


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

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


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

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


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

именно так.


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

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


 
vuk ©   (2002-04-01 18:53) [12]

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


 
Sergn   (2002-04-01 20:01) [13]

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



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

Текущий архив: 2002.06.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
1-88797
Niko.
2002-06-15 19:07
2002.06.27
Dll


7-89055
michael_B
2002-04-02 18:18
2002.06.27
Как свернуть все запущенны проги(кроме моей)


1-88783
Dark Elf
2002-06-13 20:27
2002.06.27
Stack overflow


3-88761
Vagabond
2002-05-18 16:16
2002.06.27
Что делать с индексным файлом?


1-88830
snoup
2002-06-17 11:36
2002.06.27
Привет всем, как удалить программно с едита 2 символа при нажатии