Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 225

/ вопрос открыт /

Здравствуйте, Уважаемые эксперты!

Как определить длину дорожки wav файла, из .res?
В сети все обыскал, нашел вот такой код

как его можно изменить, чтобы можно было определить длину wav файла из .res ?

Приложение:
  1.  
  2.  
  3. type
  4. EMyMCIException = class(Exception);
  5. TWavHeader = record
  6. Marker1: array[0..3] of Char;
  7. BytesFollowing: Longint;
  8. Marker2: array[0..3] of Char;
  9. Marker3: array[0..3] of Char;
  10. Fixed1: Longint;
  11. FormatTag: Word;
  12. Channels: Word;
  13. SampleRate: Longint;
  14. BytesPerSecond: Longint;
  15. BytesPerSample: Word;
  16. BitsPerSample: Word;
  17. Marker4: array[0..3] of Char;
  18. DataBytes: Longint;
  19. end;
  20.  
  21. {$R sounddata.RES}
  22.  
  23. procedure TForm1.Button1Click(Sender: TObject);
  24. var
  25. Header: TWavHeader;
  26. begin
  27. with TFileStream.Create('C:\Sound_1.wav', fmOpenRead) do
  28. try
  29. ReadBuffer(Header, SizeOf(Header));
  30. finally
  31. Free;
  32. end;
  33. ShowMessage(FloatToStr((Int64(1000) * header.DataBytes div header.BytesPerSecond) / 1000));
  34. end;
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  


mr_switch Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: mr_switch (статус: Посетитель)
Вопрос отправлен: 25 мая 2010, 01:55
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Цитата (mr_switch):

как его можно изменить, чтобы можно было определить длину wav файла из .res ?

Очень просто! Надо вместо TFileStream использовать TResourceStream.

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 25 мая 2010, 08:18
Оценка за ответ: 5

Комментарий к оценке: Спасибо помогло, все работает!
























Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:42
Выполнено за 0.03 сек.