c++ - 实时音频帧(AudioFrame)如何处理
PHP中文网
PHP中文网 2017-04-17 14:01:13
0
0
484

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中文网
PHP中文网

认证高级PHP讲师

membalas semua(0)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan