#ifndef __AUDIO_PLAYER_H__ #define __AUDIO_PLAYER_H__ #include <SLES/OpenSLES.h> #include <SLES/OpenSLES_Android.h> #include <SLES/OpenSLES_AndroidConfiguration.h> #include "WebRtcJitterBuffer.h" #include "AudioCodec.h" #include "JitterBuffer.h" #define SAMPLE_RATE 8000 #define FRAME_RATE 50 #define FRAME_SIZE SAMPLE_RATE / FRAME_RATE class AudioPlayer { private: // JitterBuffer &jitterBuffer; WebRtcJitterBuffer &webRtcJitterBuffer; AudioCodec &audioCodec; // int sampleRate; // int bufferFrames; SLObjectItf bqPlayerObject; SLPlayItf bqPlayerPlay; SLObjectItf outputMixObject; SLAndroidSimpleBufferQueueItf bqPlayerBufferQueue; short outputBuffer[FRAME_SIZE]; public: AudioPlayer(WebRtcJitterBuffer &jitterBuffer, AudioCodec &audioCodec); ~AudioPlayer(); int start(SLEngineItf *engineEngine); void stop(); static void playerCallback(SLAndroidSimpleBufferQueueItf bufferQueue, void *context); void playerCallback(SLAndroidSimpleBufferQueueItf bufferQueue); }; #endif