我正在使用SDL和FFMPEG来解码音频。我的测试文件包含立体声和单声道通道的组合。当我尝试播放音频文件时,立体声部分将播放,但当频道将立体声改为单声道时,我的应用程序无法播放。
我的FFMPEG正在改变从立体声到单声道的频道。但是我怎么告诉我的SDL玩Mono部分。
我在我的应用中这样做
aCodecCtx=pFormatCtx->streams[audioStream]->codec;
wanted_spec.freq = aCodecCtx->sample_rate;
wanted_spec.format = AUDIO_S16SYS;
wanted_spec.channels = aCodecCtx->channels;
wanted_spec.silence = 0;
wanted_spec.samples = SDL_AUDIO_BUFFER_SIZE;
wanted_spec.callback = audio_callback;
wanted_spec.userdata = aCodecCtx;
if(SDL_OpenAudio(&wanted_spec, &spec) < 0) {
fprintf(stderr, "SDL_OpenAudio: %s\n", SDL_GetError());
return -1;
}
你能告诉我,如何在运行时更新从立体声到单声道的频道更改。