Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268

Перенести код считывания wav-файла на Delphi.

08.04.2009, 17:43. Показов 1984. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот сам код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
typedef struct {
    char id_riff[4];
        long len_riff;
 
    char id_chuck[4];
    char fmt[4];
    long len_chuck;
 
    int  type;
    int  channels;
    long freq;
    long bytes;
    int  align;
    int  bits;
 
    char id_data[4];
    long len_data;
} TitleWave;
 
 
void    main
    ( int argc, char * argv[] )
{
FILE * f;
TitleWave tw;
 
if ( argc<2 ) { printf("Укажи имя .wav файла\n"); return ; }
f=fopen(argv[1],"rb");
if ( f==0 ) { printf("Не открыть файл - %s\n",argv[1]); return; }
fread(&tw,sizeof(TitleWave),1,f);
fclose(f);
printf("LEN RIFF\t - %ld\n", tw.len_riff );
if ( strncmp(tw.id_riff,"RIFF",4)!=0 )
    printf("Не совпал идентификатор RIFF\n");
printf("LEN Chuck\t - %ld\n", tw.len_chuck );
if ( strncmp(tw.id_chuck,"WAVE",4)!=0 )
    printf("Не совпал идентификатор CHUCK\n");
if ( strncmp(tw.fmt,"fmt ",4)!=0 )
    printf("Не совпал идентификатор FMT\n");
printf("Type\t\t - %d\n", tw.type );
printf("Channels\t - %d\n", tw.channels );
printf("Sample Per Sec\t - %d\n", tw.freq );
printf("Bytes Per Sec\t - %d\n", tw.bytes );
printf("Bits\t\t - %d\n", tw.bits );
printf("Aligned\t\t - %d\n", tw.align );
printf("LEN Data\t - %ld\n", tw.len_data );
if ( strncmp(tw.id_data,"data",4)!=0 )
    printf("Не совпал идентификатор DATA\n");
}
Помогите, пожалуйста!

Добавлено через 8 минут 53 секунды
А да, забыл, что можно и на Паскаль.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2009, 17:43
Ответы с готовыми решениями:

Удаление элемента структуры для правильного считывания WAV-файла
Господа, возник такой вопрос: Мне необходимо удалить элемент структуры. Это необходимо для правильного считывания WAV-файла, не...

В какой тип данных переводить из wav-файла раздел data после считывания байтов
Добрый вечер, суть вопроса: 1) Что получает на вход БПФ и что выдает ( в каком формате ), иными словами: какие типы данных брать ? 2) В...

Код Java перенести в код Delphi
Помогите перенести из кода Java в код Delphi. Хотя бы не весь код, а саму основу, алгоритм. /* Учебный пример скрипта бота для игры...

1
1 / 1 / 0
Регистрация: 23.04.2009
Сообщений: 29
23.04.2009, 11:22
Я делал так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
type
TWavHead = record
  id_riff: longword;//char
  len_riff: longword;
 
  id_chuck: longword;//char
  fmt: longword;//char
  len_chuck: longword;
 
  kind: word;
  channels: word;
  freq: longword;
  bytes: longword;
  align: word;
  bits: word;
 
  id_data: longword;//char
  len_data: longword;   
end;
 
var  f:                  file;
      tw:               TWavHead;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
    AssignFile(f,'filename.wav');
    Reset(f,sizeof(tw));
    BlockRead(f,tw,1);
    CloseFile(f);
end;
PS. На счет чисто символических data, fmt, riff не стал заморачиваться и просто считал как числа
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.04.2009, 11:22
Помогаю со студенческими работами здесь

Нужно перенести код с Delphi в С++
Здравствуйте, вот нашел пример запуска винампа для дельфи: //Запуск Winamp’а Procedure StartWinamp; var WinampExe:string; begin ...

Дайте код для воспроизведения mp3 или wav файла!
Привет всем! Дайте код для воспроизведения mp3 или wav файла! Буду благодарен)

Как код из php Devel studio перенести в Delphi?
Как код из php Devel studio перенести в delphi? И возможно ли это вообще? Или как объединить проект Devel studio с проектом delphi?

Перенести код с Delphi в Lazarus. Задача, база данных
Здравствуйте, на экзамене дали задачу, сделать Базу данных. Вот сам пример: Разработка структуры программы: Учет Рождаемости в...

Перенести код из Delphi в Word без повреждения заголовков, сообщений и ремарок на кириллице
Очень нужна помощь! Может быть кто-нибудь знает как исправить эту проблему... Нужно скопировать код программы из Delphi в Word, как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru