Und nochmal bisschen umgestrickt.
Code:
#include <iostream>
#include <vector>
#include <fstream>
#include <stdio.h>
#include "diaSound.hpp"
bool debug = false;
int main()
{
fstream datei;
vector<int> input;
unsigned int i, SHRT_MAX = 32767;
char *wave;
int32_t inputWave[SHRT_MAX];
input = audioCapture(SHRT_MAX, "plughw:1,0", 1, 12000, 8);
wave = (char *) malloc(input.size());
if(debug) datei.open("test.csv", ios::out);
for(i=0;i<input.size();i++)
{
wave[i] = input[i];
inputWave[i] = input[i];
if(debug) datei << input[i] << endl;
}
if(debug) datei.close();
playCaptured(wave, input.size(), "plughw:1,0", 1, 12000, 8);
free(wave);
return 1;
}
Nun liegt also ein Array als int32_t vor mit exakt der Länge SHRT_MAX (wenn ich SHRT_MAX nicht deklariere bekomme ich eine Fehlermeldung! Fehlt mir da eine Headerdatei?).
und bitte auch möglichst nirgends int oder unsigned int verwenden, immer nur int32_t und uint32_t
das gleiche gilt für char und unsigned char (stattdessen möglichst int8_t, uint8_t)
Was hat das für einen Vorteil?
Lesezeichen