Heim > Fragen und Antworten > Hauptteil
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,只有以上这个结构体.
缓冲区使我迷茫了,不知道如何入手.
请大神们支缓一下,可走淘宝.