AudioStreamer.h

 

#include "HeaderClasses.h"
#ifndef AUDIO_STREAMER_H
#define AUDIO_STREAMER_H
typedef bool (*AudioStreamCB)(char* audio_chunk, int chunk_size, void* user_data);
/**
     class AudioStreamer
     Mimics live audio being streamed.
     It reads audio a bit at a time from a file,
     periodically calling a user provided callback
     function to transmit the audio.
     It stops transmitting audio when the user
     callback function returns false.
     If it reaches the end of file before the callback
     tells it to stop, then it just sends silence.
     The audio is assumed to be a headerless u-Law
     audio file at 8Khz
 **/
class AudioStreamer : Demo::Thread
{
public:
     AudioStreamer(const char* filename);
     void StartStream(AudioStreamCB _cb, void* _user_data);
     void StopStream();
     ~AudioStreamer();
private:
     char* audio_buffer;
     char* end_buffer;
     int audio_buffer_size;
     int increment_ms;
     AudioStreamCB cb;
     void* user_data;
     virtual void ThreadAction();
};
#endif//AUDIO_STREAMER_H

Complete Help Topic List | Speech Engine Product Information