Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.012 c
3-88702
Dimous
2002-05-31 15:43
2002.06.27
Проблема с мышиным курсором при SQL-запросе


14-88993
roman_tutov@mail.ru
2002-05-24 17:40
2002.06.27
BDE это бесплатный продукт ?


14-88999
Igorek
2002-05-23 17:02
2002.06.27
КОНКУРС!


1-88909
Project1
2002-06-08 00:29
2002.06.27
Взаимодействие процессов...


3-88768
CODC
2002-06-05 06:31
2002.06.27
корректная очистка таблицы




   Наверх