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

Ошибка загрузки сэмплов из WAV - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дан массив. Удалить из него нули и после каждого числа, оканчивающегося на 5, вставить 1 http://www.cyberforum.ru/cpp-beginners/thread1100924.html
Задание: Дан массив. Удалить из него нули и после каждого числа, оканчивающегося на 5, вставить 1. Нули из массива удалила, и теперь не знаю как вставлять 1 в полученный массив. // #include <iostream> #include <conio.h> #include <ctime> using namespace std;
C++ С клавиатуры вводятся координаты 2 линий Здравствуйте...задание:С клавиатуры вводятся координаты 2 линий. Если угол между ними 90±10 градусов, то вывести сообщение, что они перпендикулярны http://www.cyberforum.ru/cpp-beginners/thread1100915.html
Метод Адамса для решения дифференциальных уравнений второго порядка C++
Очень нужна помощь.. У кого есть текст программы метода Адамса для решения дифференциальных уравнений второго порядка на С++, можете скинуть код, очень нужно
Вычислить количество элементов массива, стоящих на четных и нечетных позициях C++
Помогите пожалуйста исправить ошибки в программе, с использованием шаблов класса. Задача состоит в том что нужно вычислить кол-во элементов массива, стоящих на четных и нечетных позициях. Вот код: template <class T> class kol_elements { private: T *a; int n; int h;
C++ Создание программы для распредиления текста по файлам http://www.cyberforum.ru/cpp-beginners/thread1100861.html
Здравствуйте уважаемые пользователи. У меня возник вопрос, как можно написать программу, которая будет из определенных 100 предложений, выбирать одно и сохранять его в файл, как бы рандомно.То есть примерно так: Есть 150 предложений (Без разницы каких) и 20 людей нужно чтобы программа, дала каждому человеку рандомное предложение, сохранив его в отдельный файл желательно txt. Заранее спасибо.
C++ Сортировка массива Помогите, пожалуйста, не могу отсортировать символы с помощью таблицы ANSI #include <iostream> using namespace std; void main() { int n; cout<<"Vvedit rozmirnist 1-oj mnogunu A n="; подробнее

Показать сообщение отдельно
korul
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 9
21.02.2014, 00:16  [ТС]     Ошибка загрузки сэмплов из WAV
кол-во отсчетов считано правильно,так как через другую прогу считал количество отсчетов, которая точно правильно работает.
а какой тип данных надо использовать?
1 канал , там не песня,а специальный файл,где я знаю количество отсчетов ,то что он 32 битный , однокональный,моно.

Добавлено через 5 часов 49 минут
нашел чей то проект,чуть чуть преобразовал свой - в итоге получил
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include "stdafx.h"
#include <stdio.h>
#include <tchar.h>
#include <conio.h>
#include <math.h>
#include <iostream>
#include <fstream>
 
using namespace std;
 
struct Wav_Header
{
    char Wav_ChunkId[4];
    int Wav_ChunkSize;
    char Wav_Format[4];
    char Wav_SubChunkId[4];
    int Wav_SubChunkSize;
    short int Wav_AudioFormat;
    short int Wav_NumChannels;
    int Wav_SampleRate;
    int Wav_ByteRate;
    short int Wav_BlockAlign;
    short int Wav_BitPerSample;
    char Wav_SubChunk2Id[4];
    int Wav_SubChunk2Size;
};
 
 
 
int main()
{
    FILE *rd_wav;
    Wav_Header ob1;
    cout<<sizeof(short)<<endl;
    if ((rd_wav=fopen("Slipknot - Three Nil.wav","rb"))==NULL)
        {
        fprintf(stderr,"owibka otkritiya faila dlya 4teniya");
        return 1;
        }
 
    fread(&ob1,sizeof(ob1),1,rd_wav);
    cout<<ob1.Wav_ChunkSize<<endl;
    for (int i=0; i<4; i++)
        cout<<ob1.Wav_ChunkId[i];
    cout<<'\n';
    for (int i=0; i<4; i++)
        cout<<ob1.Wav_Format[i];
    cout<<'\n';
    for (int i=0; i<4; i++)
        cout<<ob1.Wav_SubChunkId[i];
    cout<<'\n';
    cout<<ob1.Wav_SubChunkSize<<endl;
    cout<<ob1.Wav_AudioFormat<<endl;
    cout<<ob1.Wav_NumChannels<<endl;
    cout<<ob1.Wav_SampleRate<<endl;
    cout<<ob1.Wav_ByteRate<<endl;
    cout<<ob1.Wav_BlockAlign<<endl;
    cout<<ob1.Wav_BitPerSample<<endl;
    for (int i=0; i<4; i++)
        cout<<ob1.Wav_SubChunk2Id[i];
    cout<<'\n';
    cout<<ob1.Wav_SubChunk2Size<<endl;
    /*
    short* buffer=new short [ob1.Wav_SubChunk2Size/2];
    fread(buffer, 2, ob1.Wav_SubChunk2Size/2, rd_wav);
    */
  char *pBuf = ( char * )malloc( sizeof( char ) * ob1.Wav_SubChunk2Size );
  fread( pBuf, 1, ob1.Wav_SubChunk2Size, rd_wav );
 
  fclose(rd_wav);
 
 
 
/*
    pFile = fopen( "RAW.raw", "wb" ); 
  BYTE RAW[256][256] = {0};
  BYTE bL = 0;
  for(int i = 0; i < ob1.Wav_SubChunk2Size; i++ )
  {
    bL = 256-pBuf[i];
    RAW[ bL ][ i/(ob1.Wav_SubChunk2Size/256) ] = 254;
  }
  fwrite( RAW, sizeof(RAW), 1, pFile );
*/
 
 
  //  delete [] buffer;
    
    return 0;
}
Можно ли такой тип данных использовать для хранения отсчетов?
Как их вывести или посчитать кол-во для того,чтобы проверить правильность?
ну эт более сложное - как отсчеты из массива перегнать в вектор ,для последующего БПФ?

Добавлено через 2 минуты
вся загвоздка в этих 2х строках,помогите пожалуйста)
C++
1
2
 char *pBuf = ( char * )malloc( sizeof( char ) * ob1.Wav_SubChunk2Size );
  fread( pBuf, 1, ob1.Wav_SubChunk2Size, rd_wav );
 
Текущее время: 01:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru