|
|
@@ -141,6 +141,32 @@ void MainPanel::setPushRoomId(const QString &id)
|
|
|
|
|
|
// 重新进入房间
|
|
|
chatView->initWebsocket(id);
|
|
|
+
|
|
|
+ if (PlayWidget *playWidget = qobject_cast<PlayWidget *>(playerWidget)) {
|
|
|
+ MaskOverlay::instance()->show(nullptr, 0, MaskOverlay::ActiveWindow);
|
|
|
+
|
|
|
+ QFuture<HttpResponse> getRoomFuture = getRoomApi(id);
|
|
|
+ QtPromise::QPromise<HttpResponse> roomListPromise = QtPromise::resolve(getRoomFuture);
|
|
|
+
|
|
|
+ roomListPromise
|
|
|
+ .then([this, playWidget, id](const HttpResponse &response) {
|
|
|
+ qDebug() << response.code << response.data << response.message;
|
|
|
+ if (response.code != 0) {
|
|
|
+ BubbleTip::showTip(this, response.message, BubbleTip::Top, 3000);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ RoomInfo roomInfo = JsonMapper::formJsonEx<RoomInfo>(response.data.toObject());
|
|
|
+
|
|
|
+ qDebug() << "roomInfo.liveStatus.has_value()" << roomInfo.liveStatus.has_value();
|
|
|
+
|
|
|
+ int status = roomInfo.liveStatus.value_or(0);
|
|
|
+ if (status == 1) {
|
|
|
+ qDebug() << "open" << ("rtmp://106.55.186.74:1935/stream/V1/" + id);
|
|
|
+ playWidget->startToPlay("rtmp://106.55.186.74:1935/stream/V1/" + id);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .finally([]() { MaskOverlay::instance()->hide(); });
|
|
|
+ }
|
|
|
}
|
|
|
void MainPanel::setPlayerWidget(QWidget *newPlayer)
|
|
|
{
|