AVFrame AudioUnit 播放回调填充音频流

如何用AudioUnit播放从流服务器上获取的的音频数据

正在学习,FFMpeg解码后得到音频流,怎么填充到AudioUnit的播放回调函数中,现在还没有解决,如果有路过的大神,还望指教一二,小弟不胜感激...😆

static OSStatus playbackCallback(void *inRefCon,
                                AudioUnitRenderActionFlags *ioActionFlags,
                                const AudioTimeStamp *inTimeStamp,
                                UInt32 inBusNumber,
                                UInt32 inNumberFrames,
                                AudioBufferList *ioData) {
    NSLog(@"sdsd");
    
    HZAudioPlayTool *audioTool = [HZAudioPlayTool shareHZAudioPlayTool];
    [audioTool ReceiveAudioWithAudio:^(char *pcm) {
        AudioBuffer buffer  ;
        buffer.mNumberChannels = 1;
        buffer.mDataByteSize = 320 ;
        buffer.mData = malloc (320 );
        NSLog(@"sss1-%d",pcm);
        memcpy(buffer.mData, pcm, 320);
        NSLog(@"buffer.mData-%d",buffer.mData);
        NSLog(@"%d",memcmp(buffer.mData, pcm, 320));
        AudioBufferList bufferList;
        bufferList.mNumberBuffers = 1;
        bufferList.mBuffers[0] = buffer;
        OSStatus status;
        status = AudioUnitRender(audioUnit,
                                 ioActionFlags,
                                 inTimeStamp,
                                 inBusNumber,
                                 inNumberFrames,
                                 &bufferList);
        NSLog(@"sss-%d", bufferList.mBuffers[0].mData);

    }];
    return noErr;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容