1.我从回调中得到一个音频信息的结构体,如下:
typedef struct {
char participantURI[MAX_URI_LEN]; unsigned int sourceId; unsigned int viewPriority; /*! Frame data */ AppAudioFrame frame;
} AppOutEventAudioFrameReceived;
typedef struct {
/*! 分贝 - calculated energy in Db (-96..-1) */ signed int energy; /*! bit (typically 16) */ unsigned int bps; /*! audio sampling-rate */ unsigned int samplingRate; /*! 声道数量 (一般为1) */ unsigned int channels; /*! number of samples (at 32Khz would be set to 640 for 20 ms) */ unsigned int samples; /*! size of data is depth*nSamples*channels/8 */ unsigned char data[1];
} AppAudioFrame;
解释:
1.SDK将远程服务器多路音源分配到每个不同音频帧,根据participantURI可以获取到相对应的某路的音频帧.
2.利用缓存队列方式将audioFrame添加到队列中进行缓存.
3.从缓存区中获取audioFrame然后转成Data格式数据传能其他模块使用.
问题:
我认为我需要自定义队列和缓冲区来做这一处理过程.
我不需要播放功能,也没有URL,只有以上这个结构体.
缓冲区使我迷茫了,不知道如何入手.
请大神们支缓一下,可走淘宝.
认证高级PHP讲师