Привет всем, я сейчас пытаюсь понять, как воспроизвести тон, который я сгенерировал, используя синусоидальную волну.
Вот мой код:
#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.
Я просто хочу простое воспроизведение тона, который я создал. У кого-нибудь есть что-нибудь, на что они могут мне указать?
Огромное спасибо!!!