从 C++ 代码中暂停 FFmpeg 的方法是通过暂停音频和视频的解码和播放。以下是一个简单的步骤:
bool isPaused = false;
while (av_read_frame(pFormatCtx, &packet) >= 0) {
if (packet.stream_index == audioStreamIndex) {
// 检查暂停标志
while (isPaused) {
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
// 解码和播放音频
} else if (packet.stream_index == videoStreamIndex) {
// 检查暂停标志
while (isPaused) {
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
// 解码和播放视频
}
}
void pause() {
isPaused = true;
}
void resume() {
isPaused = false;
}
pause()
和 resume()
函数:// 暂停播放
pause();
// 恢复播放
resume();
这样,在暂停和恢复播放时,音频和视频的解码和播放将被阻止,从而实现暂停功能。
注意:以上代码仅供参考,实际实现可能需要根据具体情况进行调整。
云+社区技术沙龙[第14期]
新知
腾讯技术创作特训营第二季第3期
《民航智见》线上会议
云+社区技术沙龙[第6期]
TVP「再定义领导力」技术管理会议
企业创新在线学堂
企业创新在线学堂
腾讯技术开放日
领取专属 10元无门槛券
手把手带您无忧上云