Форум программистов, компьютерный форум CyberForum.ru

Работа с Wav файлом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа читающая почту http://www.cyberforum.ru/cpp/thread1224741.html
Привет. Надумал такую идею. Есть почтовый ящик с кучей писем. Нужно из этого ящика скопировать в таблицу word дату, отправителя и название каждого письма. Ящик открывается в браузере(или если будет проще - в спец программе для чтения почты). Вопрос в том, что я не знаю какие для этого нужны средства. Собираюсь использовать c++, а что ещё нужно будет применить - не знаю. Буду рад, если доступно...
C++ Написать скрипт для игры WoW на проверку баффов из БД и сохранение их в отдельную таблицу помогите написать скрипт На проверку баффов из бд и сохранение их в отдельную таблицу. игра world of warcraft по типу этого bool Unit::HasAura(uint32 spellId, uint64 casterGUID, uint64 itemCasterGUID, uint8 reqEffMask) const { if (GetAuraApplication(spellId, casterGUID, itemCasterGUID, reqEffMask)) return true; return false; } ๖ۣۜNarko: AuraApplication *... http://www.cyberforum.ru/cpp/thread1224718.html
Написать функцию вычисляющую амплитудный спектр отсчетов звукового сигнала формата WAV C++
Нужно написать функцию вычисляющую амплитудный спектр отсчетов звукового сигнала формата WAV. Посоветуйте с чего начать выполнение задания, что изучить? на данный момент я пока понял, что нужно как-то использовать дискретное преобразование Фурье и теорему отсчетов
Большая загрузка при распознавании лиц с камеры C++
Всем привет. почти закончил писать программу и столкнулся с такой проблемой. Есть кусок когда, который отвечает за распоознование лиц с камеры void Faces(IplImage* frame1) { CascadeClassifier face_cascade("/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml"); Mat frame = frame1; Mat frame_gray; cvtColor(frame,frame_gray,CV_BGR2GRAY);
C++ Как скачать с базы данных sqllite нужные мне данные в структуру? http://www.cyberforum.ru/cpp/thread1224453.html
Подскажите пожалуйста, работаю через sqllite, как скачать с базы данных нужные мне данные, например в структуру rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg); static int callback(void *data, int argc, char **argv, char **azColName) // Выводит всё подряд и не записывает никуда { int i; while(i<argc) { printf("%s = %s\n", azColName, argv ? argv : "NULL");
C++ После сборки в Release краш с Access Violation Имеется Dll, собранная в Release /MT. На Win8 все прекрасно работает, а на 7ке крашится с исключением c0000005. Причем если запускать в режиме совместимости, то ошибка исчезает. А так же, когда меняю Runtime Library на /MTd, все опять же работает. Подскажите с чем это может быть связано и куда копать? Добавлено через 1 час 16 минут Ладно, поставим вопрос так: ничего страшного, если... подробнее

Показать сообщение отдельно
Myha_fly
Заблокирован
10.07.2014, 11:34  [ТС]     Работа с Wav файлом
В правильном направлении я двигаюсь?
Если да, то как считать инфу с буфера?
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
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <fstream>
#include <iostream>
using namespace std;
 
struct WAVHEADER
{
char chunkId[4];// RIFF-заголовок:
unsigned long chunkSize;
char format[4]; // Содержит символы "WAVE"
char subchunk1Id[4];// Содержит символы "fmt "
unsigned long subchunk1Size; // Это оставшийся размер подцепочки, начиная с этой позиции.
unsigned short audioFormat;// Значения, отличающиеся от 1, обозначают некоторый формат сжатия.
unsigned short numChannels;// Количество каналов. Моно = 1, Стерео = 2 и т.д.
unsigned long sampleRate;// Частота дискретизации. 8000 Гц, 44100 Гц и т.д
unsigned long byteRate;// sampleRate * numChannels * bitsPerSample/8
unsigned short blockAlign; // numChannels * bitsPerSample/8 Количество байт для одного сэмпла, включая все каналы.
unsigned short bitsPerSample; // Так называемая "глубиная" или точность звучания. 8 бит, 16 бит и т.д.
char subchunk2Id[4]; // Содержит символы "data"
unsigned long subchunk2Size; //numSamples * numChannels * bitsPerSample/8 Количество байт в области данных.
short *data;
 
};
 
void main(){
 FILE *file;
 errno_t err;
 err = fopen_s(&file, "00032.00.wav", "rb");
 if (err)
 {
 printf_s("Failed open file, error %d", err);
 system("pause");
 exit(0);
 }
 
 WAVHEADER head;
 
 fread_s(&head, sizeof(WAVHEADER), sizeof(WAVHEADER), 1, file);
 
 float fDurationSeconds = 1.f * head.subchunk2Size / (head.bitsPerSample / 8) / head.numChannels / head.sampleRate;
 int iDurationMinutes = (int)floor(fDurationSeconds) / 60;
 fDurationSeconds = fDurationSeconds - (iDurationMinutes * 60);
 
 printf_s("Duration: %02d:%02.f\n", iDurationMinutes, fDurationSeconds);
 printf_s("Sample rate: %d\n", head.sampleRate);
 printf_s("Channels: %d\n", head.numChannels);
 printf_s("Byte per sample: %d\n", head.bitsPerSample/8);
 
 ifstream fil;
 char *str;
 fil.open("00032.00.wav",ios::beg|ios::in|ios::binary);
 fil.read((char*)&head,44);
 
 head.data=new short[head.subchunk2Size]; //Создаём буфер, для хранения звука
 
 fil.read((char*)head.data,head.subchunk2Size);
    for(int i=0;i<head.subchunk2Size;i++){
        cout<<head.data[i]<<" ";
    }
 
 fil.close();
 system("pause");
}
Добавлено через 13 минут
Не правильно вопрос задал) в правильном направлении я двигаюсь? В плане размерностей и форматов, не хотелось бы с неверными данными работать
А как по буферу пробежаться в принципе понимаю)
 
Текущее время: 06:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru