#include #include #include #include #include "sonic_process.h" #define AUDIO_LEN 1024 sonicStream sonicStream_init(int32_t samplerate, int32_t channels, float speed, float pitch) { sonicStream stream; stream = sonicCreateStream(samplerate, channels); if(stream == NULL) { printf("sonicStream_init err!\n"); return NULL; } sonicSetSpeed(stream, speed); sonicSetPitch(stream, pitch); sonicSetRate(stream, 1); sonicSetVolume(stream, 1); sonicSetQuality(stream, 0);\ os_printf("sonicStream_init succwss,samplingrate:%d,channel:%d,speed:%f,pitch:%f",samplerate,channels,speed,pitch); return stream; } void sonicStream_deinit(sonicStream stream) { sonicDestroyStream(stream); } void sonicStream_input_data(sonicStream stream,short *inBuffer,int samplesRead) { sonicWriteShortToStream(stream, inBuffer, samplesRead); } int sonicStream_output_data(sonicStream stream,short *outBuffer,int maxlen) { int samplesWritten; samplesWritten = sonicReadShortFromStream(stream, outBuffer,maxlen); return samplesWritten; } int sonicStream_output_available(sonicStream stream) { return get_sonicReadLen(stream); } void sonic_flush_stream(sonicStream stream) { sonicFlushStream(stream); } void sonicStream_set_pitch(sonicStream stream, float pitch) { sonicSetPitch(stream, pitch); } void sonicStream_set_speed(sonicStream stream, float speed) { sonicSetSpeed(stream, speed); }