我正在使用 ESP32-Cam,并开始使用 ESP32-CAM 示例 2:实时视频流服务器 应用程序,效果非常好。
我感兴趣的是启动和停止流,而不是通过客户端的命令(通过浏览器中的“开始流/停止流”按钮),但我想直接从 ESP32 控制“开始/停止”选项。
我可以调用
WiFi.disconnect(false, false);
来停止流,但这不太好(如果还有其他数据传输正在进行),并且调用 WiFi.reconnect();
也不会自动恢复流。这怎么办?
将以下代码附加到app_httpd.cpp末尾:
void stopCameraServer(){
if (camera_httpd != NULL) {
httpd_stop(camera_httpd);
}
if (stream_httpd != NULL) {
httpd_stop(stream_httpd);
}
}
并将其添加到CameraWebServer.ino的顶部:
void stopCameraServer();
然后你可以通过调用
stopCameraServer()
来停止 HTTP 服务器