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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2014, 10:02   #11
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

WAV тегов не содержит. Плееры могут получать оттуда информацию только в одном случае, если это псевдоWAV, а на самом деле MP3.

Как читать теги MP3 самому полно инфы в сети, есть даже готовые модули, даже на этом форуме. По остальным надо искать. В то же время есть Tags.dll из комплекта BASS (An extension producing formatted text from the ID3v1/v2, OGG/FLAC, WMA, APE, and MP4 tags of a BASS stream).

p.s.: что до вашей проблемы по сути, ну иероглифы в 2010 и что? Работайте в Delphi7. У меня под TurboDelphi-lite over BDS-2006 и XE5 никаких иероглифов нет с MediaInfo.dll.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 31.03.2014, 14:00   #12
Prog_Bast
 
Регистрация: 21.03.2014
Сообщений: 9
По умолчанию

Сменить Delphi 2010 на Delphi 7 из за иероглифов - это не выход из проблемы и не решение проблемы. Просто нужно адаптировать код написанный в Delphi 7 под Delphi 2010, но как это сделать я не знаю. Может все таки кто то сталкивался с этим, очень нужна помощь.
Prog_Bast вне форума Ответить с цитированием
Старый 31.03.2014, 14:13   #13
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...от заладили. Не меняйте версию Delphi, зачем вообще 2010 понадобилась, вы ее купили?

Приложите получаемые иероглифы в 2010 в текстовом файле на форум.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 31.03.2014, 15:00   #14
Prog_Bast
 
Регистрация: 21.03.2014
Сообщений: 9
По умолчанию

Вот текстовый файл с иероглифами
Вложения
Тип файла: txt иероглифы.txt (1,010 байт, 129 просмотров)
Prog_Bast вне форума Ответить с цитированием
Старый 31.03.2014, 16:56   #15
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...скорректировал:
Код:
var
  Datei: pwidechar;
  Handle: Cardinal;
begin
  if OpenDialog1.Execute then 
    Datei:= pwidechar(OpenDialog1.Filename);

  if FileExists(Datei)
  then begin
      Handle := MediaInfo_New();
    MediaInfo_Open(Handle, Datei);
    MediaInfo_Option(0, 'Complete', '');

    Memo1.Lines.SetText(MediaInfo_Inform(Handle, 0));


    MediaInfo_Close(Handle);
  end;
end;
Не забывайте, что версия 2010 юникодная, соответственно и функции вызывать следует юникодные. У вас в хидере прямо так и написано:
Цитата:
//Two versions :
//MediaInfo_* : Unicode
//MediaInfoA_* : Ansi
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 31.03.2014 в 17:52.
raxp вне форума Ответить с цитированием
Старый 01.04.2014, 10:01   #16
Prog_Bast
 
Регистрация: 21.03.2014
Сообщений: 9
По умолчанию

Спасибо большое за помощь... Работает...
Prog_Bast вне форума Ответить с цитированием
Старый 01.04.2014, 15:05   #17
Prog_Bast
 
Регистрация: 21.03.2014
Сообщений: 9
По умолчанию

Кстати, есть еще один вопрос. Разбираясь с библиотекой mediainfo.dll нашел более обновленный файл mediainfodll.pas. В нем используются какие то дополнительные типы:
type
TMIStreamKind = (Stream_General, Stream_Video, Stream_Audio, Stream_Text,
Stream_Chapters, Stream_Image, Stream_Menu, Stream_Max);

type
TMIInfo = (Info_Name, Info_Text, Info_Measure, Info_Options, Info_Name_Text,
Info_Measure_Text, Info_Info, Info_HowTo, Info_Max);

type
TMIInfoOption = (InfoOption_ShowInInform, InfoOption_Reserved,
InfoOption_ShowInSupported, InfoOption_TypeOfValue, InfoOption_Max);

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

Вот код:
procedure TForm1.Button1Click(Sender: TObject);
var
MediaHandle: cardinal;
Source: UnicodeString;
MInfo: UnicodeString;
begin
if OpenDialog1.Execute then
begin
MediaHandle := MediaInfo_New();
Source := OpenDialog1.FileName;
MediaInfo_Open(MediaHandle,PWideCha r(Source));
MInfo := MediaInfo_Get(MediaHandle, Stream_Video, 0, 'Codec/String', Info_Text, Info_Name);
ShowMessage(MInfo);
MediaInfo_Close(MediaHandle);
end;
Prog_Bast вне форума Ответить с цитированием
Старый 01.04.2014, 16:43   #18
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...видимо по названию, для кушанья потокового видео, аудио, картинок.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтение wav файлов asdbsa Общие вопросы C/C++ 2 21.10.2013 12:15
определить как вытащить эту всю информацию из тегов музыкального файла (файлы разных форматов, к примеру:mp3, .ogg, .wav, .wma С++ DvAlex Помощь студентам 5 09.10.2012 14:24
декомпиляция Wav файла DzetaHunter Общие вопросы Delphi 3 14.01.2011 13:17
Анализ Wav файла lacost Общие вопросы по Java, Java SE, Kotlin 4 17.12.2010 12:09
Запись и чтение WAV-файлов в/из базы Sanprof БД в Delphi 1 15.11.2010 13:27