Привет всем, в настоящее время я пытаюсь выяснить, как воспроизвести тон, который я сгенерировал, используя синусоидальную волну.
Вот мой код:
#include <iostream>
#include <OpenAL/al.h>
#include <OpenAL/alc.h>
#include <Math.h>
using namespace std;
int main (int argc, char * const argv[]) {
int number = 0;
int i, size;
double const Pi=4*atan(1);
cout << "Enter number of seconds:" << endl;
scanf("%d", &number);
size = 44100*number;
unsigned char buffer [size]; //buffer array
for(i = 0; i < size; i++){
buffer[i] = (char)sin((2*Pi*440)/(44100*i))*127;
}
return 0;
}
Очевидно, что в данный момент он ничего не делает, так как я не знаю, как играть в буфер.Я не хочу создавать файл wav и не хочу его загружать. Я просто хочу воспроизвести сгенерированный мной буфер.
В настоящее время я работаю в Mac OS X и пробовалиспользуя методы OpenAL - однако я обнаружил, что alut и alu больше не являются его частью, и если я попытаюсь использовать его, то окажется, что все равно все устарело.Я также попытался включить QAudioOutput, но по какой-то причине его, похоже, нет на моем Mac.
Я просто хочу просто воспроизвести созданный мной тон.У кого-нибудь есть что-то, на что они могут указать мне?
Спасибо, куча !!!