У меня есть следующий код ffmpeg: [code]AVPacket packet; AVFrame* frame = av_frame_alloc(); std::vector pcm_buffer; uint8_t* resampled_data; int out_samples = 0;
while (av_read_frame(format_ctx, &packet) >= 0) { if (packet.stream_index == audio_stream_index) { if (avcodec_send_packet(codec_ctx, &packet) >= 0) { while (avcodec_receive_frame(codec_ctx, frame) >= 0) { out_samples = swr_get_out_samples(swr_ctx, frame->nb_samples); av_samples_alloc(&resampled_data, nullptr, 2, out_samples, AV_SAMPLE_FMT_S16, 0);
int converted_samples = swr_convert(swr_ctx, &resampled_data, out_samples, (const uint8_t**)frame->data, frame->nb_samples);
int buffer_size = av_samples_get_buffer_size(nullptr, 2, converted_samples, AV_SAMPLE_FMT_S16, 0); pcm_buffer.insert(pcm_buffer.end(), resampled_data, resampled_data + buffer_size); av_freep(&resampled_data); } } } av_packet_unref(&packet); } [/code] А для воспроизведения звука у меня есть этот код: [code]int main(int argc, char* argv[]) { if (SDL_Init(SDL_INIT_AUDIO) < 0) { std::cerr