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

Сохранить как .wav файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дана целочисленная матрица размером n*m (m – чётное). Написать программу, позволяющую менять местами элементы первого и последнего столбцов, элемент http://www.cyberforum.ru/cpp-beginners/thread872133.html
Дана целочисленная матрица размером n*m (m – чётное). Написать программу, позволяющую менять местами элементы первого и последнего столбцов, элементы второго и (n-1)-го столбцов и т. д. до среднего столбца (n – нечётно).
C++ Даны натуральные n, действительные числа a1, … , an (n – чётное). Получить min (a1 * an, a2 * an-1, … , a[n/2] * a[n/2]+1) «Операции с индексированными переменными» Цель работы: Ознакомиться со способом хранения однотипной информации в поименованном наборе, массиве, 19:51:26 Даны натуральные n, действительные числа a1, … , an (n – чётное). Получить min (a1 * an, a2 * an-1, … , a * a+1). http://www.cyberforum.ru/cpp-beginners/thread872132.html
C++ Последнее значение, лежащее в векторе
Здравствуйте! Нужно получить доступ к последнему символу, лежащему в векторе типа char. Можно ли это сделать как-нибудь по-другому? (переменная x) vector<char>stack; int stacksize=stack.size(); char x=stack;
C++ смайлы в программе
Доброго времени суток. Пишу свой самодельный "скайп"(если это можно так назвать). Возник вопрос, а как добавить смайлы в мою программу, чтобы были на подобии тех,что в скайпе? :) Есть ли какие-то стандартные примочки для них?
C++ Найти сумму натуральных чисел, меньших 150 и кратных 4 http://www.cyberforum.ru/cpp-beginners/thread872112.html
Помогите пожалуйста! Составить программу. Найти сумму натуральных чисел, меньших 150 и кратных 4.
C++ Ошибка при компилировании При компилировании выдается ошибка "невозможно создать экземпляр абстрактного класса". Подскажите, что с ней делать, пожалуйста. #include "stdafx.h" #include <iostream> using namespace std; class Figura { virtual void Print() = 0; virtual void Read() = 0; подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1783
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
21.05.2013, 21:38     Сохранить как .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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/ Структура, описывающая заголовок WAV файла.
struct WAVHEADER
{
// WAV-формат начинается с RIFF-заголовка:
 
// Содержит символы "RIFF" в ASCII кодировке
// (0x52494646 в big-endian представлении)
char chunkId[4];
 
// 36 + subchunk2Size, или более точно:
// 4 + (8 + subchunk1Size) + (8 + subchunk2Size)
// Это оставшийся размер цепочки, начиная с этой позиции.
// Иначе говоря, это размер файла - 8, то есть,
// исключены поля chunkId и chunkSize.
unsigned long chunkSize;
 
// Содержит символы "WAVE"
// (0x57415645 в big-endian представлении)
char format[4];
 
// Формат "WAVE" состоит из двух подцепочек: "fmt " и "data":
// Подцепочка "fmt " описывает формат звуковых данных:
// Содержит символы "fmt "
// (0x666d7420 в big-endian представлении)
char subchunk1Id[4];
 
// 16 для формата PCM.
// Это оставшийся размер подцепочки, начиная с этой позиции.
unsigned long subchunk1Size;
 
// Аудио формат, полный список можно получить здесь [url]http://audiocoding.ru/wav_formats.txt[/url]
// Для PCM = 1 (то есть, Линейное квантование).
// Значения, отличающиеся от 1, обозначают некоторый формат сжатия.
unsigned short audioFormat;
 
// Количество каналов. Моно = 1, Стерео = 2 и т.д.
unsigned short numChannels;
 
// Частота дискретизации. 8000 Гц, 44100 Гц и т.д.
unsigned long sampleRate;
 
// sampleRate * numChannels * bitsPerSample/8
unsigned long byteRate;
 
// numChannels * bitsPerSample/8
// Количество байт для одного сэмпла, включая все каналы.
unsigned short blockAlign;
 
// Так называемая "глубиная" или точность звучания. 8 бит, 16 бит и т.д.
unsigned short bitsPerSample;
 
// Подцепочка "data" содержит аудио-данные и их размер.
 
// Содержит символы "data"
// (0x64617461 в big-endian представлении)
char subchunk2Id[4];
 
// numSamples * numChannels * bitsPerSample/8
// Количество байт в области данных.
unsigned long subchunk2Size;
 
// Далее следуют непосредственно Wav данные.
}header;
        int size=10000;
        unsigned short data=new unsigned short[size];
        // заполнить data;
    header.sampleRate=44000.0;// частота оцифровки
    header.numChannels=1; // одноканальный
    header.bitsPerSample=16; // бит на один отсчет
    header.blockAlign=2; // размер блока в байтах
    header.subchunk2Size=size*2; // размер данных
 
    FILE* pf;fopen_s(&pf,buf,"wb");
        fwrite(&header, sizeof(WAVHEADER), 1, pf); 
        fwrite(data,2,size,pf);
        fclose(pf);
 
Текущее время: 18:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru