#ifndef ITALKINGWIDGET_H #define ITALKINGWIDGET_H #include #include #include #include "Notification.h" #include "ui_test.h" #include "islider.h" #include "msgmemo.h" #include "gotye/GotyeAPI.h" #include "gotye/GotyeDelegate.h" #include "../JusDoodle/DoodlePch.h" USING_NS_GOTYEAPI; namespace Ui { class TalkingWidget; } class IVideoItemTeach; class ITalkingWidget : public QWidget ,public GotyeDelegate { Q_OBJECT public: explicit ITalkingWidget(QWidget *parent = 0); virtual void onReceiveMessage(const GotyeMessage& message, bool* downloadMediaIfNeed); void onVideoEvent(int eventType, const Notification &_info); void slotClickedBtnDecline(); void stopLocalVideo(); void showSessTermed(); void stopRemoteVideo(); void initShowUI(); bool eventFilter(QObject *obj, QEvent *e); int getSendUid(); void callCourse(); signals: void StopCall(); void stopCalling(); void hideMain();//最小化 void send_callTimeSec(int);//通话时长 public slots: private: Ui::TalkingWidget *ui;//通话界面UI ISlider *volSlider; QTimer MyTimer; QTimer trayHideTimer; int receiverUid; msgMemo *ui_msgMemo; public: // IVideoItemTeach *videoItemTeacher;//教师视频窗口 QWidget *videoItemTeacher;//教师视频窗口 QLabel *hint_label; int callTimeSec;//通话时长 int pptNmu; //Explanation m_explanation; //Ui::balanceLabels ui_explanation; //QWidget m_explanation; public slots: // void on_pushButtonMin_clicked(); void startLocalVideo(); void startRemoteVideo(); void slotClickedBtnAnswer(); private slots: void on_pushButtonClose_clicked(); void on_pushButtonCloseVideo_clicked(); void on_pushButtonMic_clicked(); void on_pushButtonCameraChange_clicked(); void on_pushButtonVol_clicked(); void MicLabelShow(); void CameraLabelShow(); void volSliderShow(); void volSliderHide(); void SetSpkVol(int value); void displayTime(); void on_pushButton_clicked(); void on_pushButton_picture_clicked(); void on_pushButtonMessage_clicked(); void closeTheCurrentCall(QString); void otherVideoReceive(bool flag); void widgettrayHide(); void widgettrayShow(); void repulseCurrentCall(); void doResponse(int cmd, int, QString, QString result); void showCourseUi(); void upCourseUi(); void CallNetChanged(int num);//信号强度 void slotClickedBtnEnd(); //结束通话 void ui_msgmemo_ishow(); //msgmemo show private: bool videoFlag; bool isClictMic; bool isClictCamera; bool isClictVol; int m_nRemoteWidth; int m_nRemoteHeight; QTimer *m_timer; QTimer *m_courseTimer; QTimer *m_hanging_up_timer; // QTimer *m_hanging_up_timer; QString Myhead; QString otherhead; unsigned int m_dwSessId; JusDoodle::DoodleSession *pSess; QJsonArray pptarray; }; #endif // ITALKINGWIDGET_H