![]() |
|
Другие темы раздела | |
Delphi Функция округления
https://www.cyberforum.ru/ delphi/ thread492923.html Надо округлить число до 2 знаков после запятой. Можт знает кто, есть ли стандартные функции? Я таких не нашел и единственное что придумал - число в строку, строку резать, снова в число. Настоящий... |
Delphi Треды (TThreads) и передача даных из них в главный процесс... если я вдруг, захотев вставить новый элемент в TList, произнесу часть заклинания (в отделном треде) так: Synchronize(InsertComp); ...... procedure TThread1.InsertComp; var PStr1:... |
Delphi не дать срубить прогу через "TaskManager"->"End Process Tree"
https://www.cyberforum.ru/ delphi/ thread492849.html из одной программы запускается другая (они осуществляют контроль работы друг друга), через 'TaskManager'->'End Process Tree' - благополучено вырубаются обе :( вопрос, как избежать возможности... |
Delphi Где скачать Delphi 2.0? Вам покажется следующий вопрос. Кто может дать или дать ссылку на borland Delphi 2.0? Очень нужен. Плиз.!!!!! Заранее благодарен. https://www.cyberforum.ru/ delphi/ thread492832.html |
Access violation at address 00403E1D in module 'Project.exe' Delphi Обясните как етой ошибки не било Access violation at address 00403E1D in module 'Project.exe'. Read of address 00000014 Access violation at address 002CDAC6 in module 'vcl70.bpl'. Read of address... |
Delphi Изменение выделенной строки в ListBox
https://www.cyberforum.ru/ delphi/ thread492717.html Целое сочинение написал... Не давно тыт был пример -- как отследить изменение выделенного элемента в ListBox. Если изменять мышой или клавиатурой, то работает все прекрасно. Вызывается... |
Delphi Нужен экспорт выбраной в DBGrid (delphi7) информации в MSword. Доброго времени суток!!! Возникла надобность экспорта выбраной в DBGrid (delphi7) информации в MSword! Кто делал помогите советами и рекомендациями!!! Зарание благодарен в долгу не останусь!!! :) https://www.cyberforum.ru/ delphi/ thread492658.html |
По нажатию Ctrl+Alt+v перевести переменную в другое состояние. Как? Delphi Доброго времени суток, господа специалисты! 1. Помогите мне вот в каком вопросе. Нужно по условию если пользователь нажмет вместе Ctrl+Alt+v перевести переменную в другое состояние. Это делаю вот... |
Delphi Toolbar и DDS текстуры
https://www.cyberforum.ru/ delphi/ thread492587.html Какой командой помещается прога в Toolbar и какой компонент добавляет поддержку формата .dds? |
Delphi ShellExecute с параметром Как сделать поддержку программой комманд??? Тоесть запуск не C:fdisk.exe, а C:fdisk.exe /all ??? https://www.cyberforum.ru/ delphi/ thread492556.html |
Delphi Где скачать набор компонентов HighGear? Подскажите, где можно скачать бесплатно набор компонентов HighGear? |
Delphi Документация по AsyncPro Кто подскажет, где можно скачать бесплатно документацию по набору компонентов AsyncPro на русском языке? https://www.cyberforum.ru/ delphi/ thread492532.html |
1 / 1 / 1
Регистрация: 29.04.2011
Сообщений: 28
|
|
01.05.2011, 14:12 | 0 |
Сравнение двух звуковых файлов. - Delphi - Ответ 269605801.05.2011, 14:12. Показов 4494. Ответов 2
Метки (Все метки)
Ответ
Могу тебя обрадовать на Delphi это можно реализовать... Только вот слишком сложна проблема, которую ты собираешься решать.
Единственное, чем могу тебе помочь, это как прочитать WAVE файл формата PCM (Если интересует, как прочитать WAVE файл другого формата, например ADPCM или MPEG Layer 3, тоже могу рассказать, свяжись по ICQ или отправь письмо на мыло)… Сначала опишу структуру WAVE файла: 4 Байта а Глобальный фрагмент WAVE файла (должно быть RIFF) 4 Байта а Размер глобального фрагмента ( равен размеру всего файла, за исключением 4 ёх байт глобального идентификатора RIFF ) 4 Байта а Дополнительный идентификатор WAVE 4 Байта а Идентификатор формата определяющий формат звуковых данных, fmt ( последним символом является пробел ), этот идентификатор обозначает что вслед за ним следует структура описывающая формат исходных данных.. 4 Байта а размер структуры описывающей формат исходных данных {------------Структура описывающая формат исходных данных---------------------} 2 Байта а Идентификатор типа звукового формата. В модуле MMSystem определяются константы для многих типов форматов, например WAVE_FORMAT_PCM для данных в формате PCM… 2 Байта а Количество каналов, например, 1 ( моно ), 2 ( Стерео ) 4 Байта а Частота дискретизации, т.е. количество выборок за секунду 4 Байта а Скорость воспроизведения 2 Байта а Используется для выравнивания на границу блока 2 Байта а Количество Бит в выборке сигнала. Стандартные значения – 8 (Бит) и 16 Бит 2 Байта а Размер дополнительных данных, распологающихся вслед за данной структурой в памяти на диске.. {---------------------------------------------------------------------------------------------------} 4 Байта а Идентификатор данных data означает, что вслед за ним будут идти данные 4 Байта а Размер данных идущих вслед за data Далее идут непосредственно сами данные, размер которых определяется предыдущим полем… А теперь приведу пример функции загружающей блок звуковых данных в память. В качестве входных параметров указывается Имя загружаемого Wave файла ( FileName ), Указатель в который будет помещен указатель на выделенный блок звуковых данных (Buffer ), переменная в которую будет помещён Размер звуковых данных (BufferSize), Структура в которую будет занесена информация о формате звуковых данных )… Если во время загрузки звуковых данных в память произойдёт ошибка, то функция возвратит False… Uses MMSystem; function LoadSound(const FileName:String; Buffer : Pointer; out BufferSize : Cardinal; out WaveFormat : TwaveFormatex ):Boolean; var F :File; Id :array[0..8] of Char; SizeHeader ![]() begin Result := False; //Проверяем существует ли указанный файл If not FileExists(FileName) then Exit; //Открываем файл AssignFile(F,FileName); try Reset(F,1); //Пропускаем первые 8 Байтов, это RIFF + размер глобального идентификатора Seek(F,8); //Считываем 8 Байтов Blockread(F,Id,8); //Если этот идентификатор не Wavefmt, то значит файл повреждён if AnsiStrLiComp(Id,'WAVEfmt ',8)<>0 then begin CloseFile(F); Exit; end; //Считываем размер структуры описывающей размер структуры описывающей формат звуковых данных BlockRead(F,SizeHeader,4); //Е сли размер структуры описывающей формат звуковых данных, больше максимально допустимой для формата PCM, то с такими файлами не работаем If SizeHeader>SizeOf(TWaveFormatex) then begin CloseFile(F); Exit; end; //Считываем структуру описывающую формат исходных данных BlockRea Вернуться к обсуждению: Сравнение двух звуковых файлов. Delphi
0
|
|
01.05.2011, 14:12 | |
Готовые ответы и решения:
2
Хранение звуковых файлов Сравнение двух текстовых файлов Сравнение двух огромных (!) файлов
|
01.05.2011, 14:12 | |
Помогаю со студенческими работами здесь
0
Сравнение даты изменения двух файлов с использованием edit Воспроизведение звуковых файлов (wav или mp3) Воспроизвести несколько звуковых файлов одновременно |