Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2007, 22:26   #21
PAVEL315
Форумчанин Подтвердите свой е-майл
 
Аватар для PAVEL315
 
Регистрация: 18.11.2006
Сообщений: 172
По умолчанию

Ребят, с Wiampom ничем помочь не могу. Комп недавно полетел, поэтому только инет и больше ничего. У меня даже Delphi не стоит... Если вспомню ещё кодики, обязательно выложу!
дык!
PAVEL315 вне форума Ответить с цитированием
Старый 18.01.2007, 08:03   #22
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
Сообщение от Simply-Art Посмотреть сообщение
Тут у меня возник вопрос. Те примеры кода, насколько я понял, чтения TAG были для версии 1.x А как прочесть TAG версии 2.x
Кто-нибудь пробовал открывать mp3 файл hex-редактором? Попробуйте, посчитайте кол-во байт и всё. Тег 2.x хранится вроде в начале файла (примерно в первых 200 байтах).
zetrix вне форума Ответить с цитированием
Старый 19.01.2007, 21:11   #23
Albenous
Helper
Форумчанин
 
Аватар для Albenous
 
Регистрация: 10.12.2006
Сообщений: 109
Сообщение

Цитата:
Сообщение от zetrix Посмотреть сообщение
Кто-нибудь пробовал открывать mp3 файл hex-редактором?
А что такое hex-редактор?
Глупых вопросов не бывает - бывают глупые ответы.
Albenous вне форума Ответить с цитированием
Старый 19.01.2007, 21:13   #24
Albenous
Helper
Форумчанин
 
Аватар для Albenous
 
Регистрация: 10.12.2006
Сообщений: 109
Вопрос

Цитата:
Сообщение от Umen Посмотреть сообщение
в левой вкладке отображается тэг версии 1.х а в правой - 2.х
Структура тэга версии 2.х не такая как 1.х и находится он не в конце файла, как 1.х, а в начале, поэтому если в левой вкладке пусто,
а в правой есть информация, то поля TAG в конце файла не будет
А как программно отличить тэг версии 2.х от 1.х?

Да, и еще раз возвращусь в вышеспрошенному: какая процедура записывает тэги (есть ли стандартная)?
Глупых вопросов не бывает - бывают глупые ответы.

Последний раз редактировалось Albenous; 20.01.2007 в 13:02.
Albenous вне форума Ответить с цитированием
Старый 21.01.2007, 23:13   #25
Albenous
Helper
Форумчанин
 
Аватар для Albenous
 
Регистрация: 10.12.2006
Сообщений: 109
По умолчанию

Наше один способ записи тэга, но не могу разобратся, что значит "^" в "with PTag^ do"
и "@" в "@Buffer" (по-моему это что-то с динамикой связано).
Вся эта борода расписана - караул.
Глупых вопросов не бывает - бывают глупые ответы.
Albenous вне форума Ответить с цитированием
Старый 22.01.2007, 10:30   #26
Umen
Форумчанин
 
Аватар для Umen
 
Регистрация: 10.11.2006
Сообщений: 189
По умолчанию

^ - значит работа с динамичесеой пременной, например:

type
TTestType = record //описываем тип запись
i: integer;
j: string;
end;

PTestType = ^TTestType //описываем тип указатель на
//наш предыдущий тип
var
Test: TTestType;
PTest: PTestType;

....................
PTest := @Test //@ - операция взятия адреса
// то есть мы в переменную PTest записали
// адрес переменной Test

PTest^.i := 10; //тут мы по адресу, который хранится в PTest
//обращаемся к данным типа TTestType
//т.е. тут это то же самое еслиб мы записали
//Test.i := 10;

....................

Последний раз редактировалось Umen; 22.01.2007 в 10:41.
Umen вне форума Ответить с цитированием
Старый 22.01.2007, 12:10   #27
Albenous
Helper
Форумчанин
 
Аватар для Albenous
 
Регистрация: 10.12.2006
Сообщений: 109
По умолчанию

Вот-вот... там такая же борода.
А запись тэга без использования динамической переменной возможна? А то я трудно догоняю эту тему.
Глупых вопросов не бывает - бывают глупые ответы.
Albenous вне форума Ответить с цитированием
Старый 22.01.2007, 13:24   #28
Umen
Форумчанин
 
Аватар для Umen
 
Регистрация: 10.11.2006
Сообщений: 189
По умолчанию

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

выложи исходник, может быть его можно переписать без дин. переменных
Umen вне форума Ответить с цитированием
Старый 22.01.2007, 13:53   #29
Albenous
Helper
Форумчанин
 
Аватар для Albenous
 
Регистрация: 10.12.2006
Сообщений: 109
Печаль

если б мог - давно бы выложил, но исходник не мой, да и к MP3 отношение имеет весьма посредственное.
И процедуру не могу выложить - она пересекается с другими процедурами, которые автор запретил показывать.
Сразу говорю: к автору меня не отправляйте - он в армии. Если б мог спросить - спросил бы у него давно.

Код:
 
procedure WriteID3TagInformation(mp3File:string; var Title,Artist,Album,Year,Genre,Comment:string);
var //fMP3: file of Byte;
    ID3 : TID3Rec;
    fmp3: TFileStream;
begin
  fmp3:=TFileStream.Create(mp3File, fmOpenwrite);
  try
    fmp3.position:=fmp3.size-128;
    fmp3.write(ID3,SizeOf(ID3));
  finally
    fmp3.free;
  end;
begin
  ID3.Tag := 'TAG' ;   
   ID3.Title:=Title;
   ID3.Artist:=Artist;
   ID3.Album:=Album;
   ID3.Year:=Year;
   //if ID3.Genre in [0..MaxID3Genre] then
//     Genre:=ID3Genre[ID3.Genre]
//   else
     ID3.Genre:=StrToInt(Genre);
   ID3.Comment:=Comment;
 end;
end;
...........................
procedure TForm1.Button2Click(Sender: TObject);
var i,n:integer;  filer, edTitle, edArtist, edAlbum, edYear, edGenre, edComment:string;
begin
n:=strtoint(label10.Caption);
Filer:=  'C:\temp\'+stringgrid1.Cells[7,1];
edTitle := stringgrid1.Cells[1,1];
edArtist := stringgrid1.Cells[2,1] ;
EdAlbum  := stringgrid1.Cells[3,1] ;
EdYear  := stringgrid1.Cells[4,1]  ;
EdGenre := stringgrid1.Cells[5,1] ;
EdComment := stringgrid1.Cells[6,1] ;
WriteID3TagInformation(filer, edTitle, edArtist, edAlbum, edYear, edGenre, edComment);
end;
Пытаюсь переделать FillID3TagInformation в WriteID3TagInformation, но что-то не совсем удачно. Содсобите, пожалуста.
Глупых вопросов не бывает - бывают глупые ответы.

Последний раз редактировалось zetrix; 22.01.2007 в 19:55.
Albenous вне форума Ответить с цитированием
Старый 23.01.2007, 15:10   #30
Albenous
Helper
Форумчанин
 
Аватар для Albenous
 
Регистрация: 10.12.2006
Сообщений: 109
По умолчанию

Yes, люди написал я прогу, записывает, читает теги все дела.
Одна большая проблема: В проигрывателях тегов на тех файлах нет. Точнее они обнулены. (Прога же читает эти "нулевые" теги нормально). В чем дело, кто подскажет?
Глупых вопросов не бывает - бывают глупые ответы.
Albenous вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Незакрытые теги GAGARIN-NEW HTML и CSS 13 15.12.2007 15:52