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

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

08.04.2009, 17:43. Показов 1953. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru