From 53831d0ec5fbc87524c50bc82787e2aa56a74ce3 Mon Sep 17 00:00:00 2001 From: Thomas resiX Date: Sat, 15 Feb 2025 07:34:15 +0100 Subject: [PATCH] 0.6 --- main.cpp | 13 +++---------- player.cpp | 39 +++++++++++++++++++++++++++------------ player.h | 15 +++++++++++++-- 3 files changed, 43 insertions(+), 24 deletions(-) diff --git a/main.cpp b/main.cpp index 8fe0746..764cebb 100644 --- a/main.cpp +++ b/main.cpp @@ -16,7 +16,8 @@ int main(int argc, char* argv[]) { QApplication app(argc, argv); QWidget window; - window.resize(150,576); + //window.resize(200,576); + window.setGeometry(20,50,210,576); Player player; @@ -25,18 +26,10 @@ int main(int argc, char* argv[]) { liste.addItem(player.get_Name(x)); } - QObject::connect(&liste, SIGNAL(itemDoubleClicked(QListWidgetItem*)), &app, SLOT(quit())); + QObject::connect(&liste, SIGNAL(itemClicked(QListWidgetItem*)), &player, SLOT(play(QListWidgetItem*))); QHBoxLayout layout(&window); layout.addWidget(&liste); window.show(); - - int x = player.get_Sender(); - QString name = player.get_Name(1); - QString url = player.get_URL(1); - std::cout << x << std::endl << name.toStdString() << " " << url.toStdString() << std::endl; - - //player->play(); - return app.exec(); } diff --git a/player.cpp b/player.cpp index 96056cd..66c88ed 100644 --- a/player.cpp +++ b/player.cpp @@ -9,6 +9,7 @@ #include #include +#include #include "player.h" @@ -19,8 +20,9 @@ Player::Player(){ this->sender_laden(); //this->sender_ausgeben(); - //this->play(); - //this->play(); + // Play init + /* Load the VLC engine */ + inst = libvlc_new (0, NULL); } Player::~Player(){ std::cout << "beende..." << std::endl; @@ -87,17 +89,30 @@ int Player::sender_ausgeben(void){ } return 0; } -int Player::play(void){ - libvlc_instance_t * inst; - libvlc_media_player_t *mp; - libvlc_media_t *m; +int Player::play(QListWidgetItem *item){ + + if (!item) + return 1; + std::cout << item->text().toStdString() << std::endl; + + int x=1; + + for(;x<=this->Sender;x++){ + if(item->text()==Name[x]){ + std::cout << Name[x].toStdString() << " " << URL[x].toStdString() << std::endl; + break; + } + } + if(mp) + libvlc_media_player_stop (mp); std::cout << "play..." << std::endl; - /* Load the VLC engine */ - inst = libvlc_new (0, NULL); + + QByteArray bla = URL[x].toLatin1(); + const char *url = bla.data(); /* Create a new item */ - m = libvlc_media_new_location (inst, "http://192.168.101.9:3000/S19.2E-133-33-51"); + m = libvlc_media_new_location (inst, url); /* Create a media player playing environement */ mp = libvlc_media_player_new_from_media (m); @@ -120,12 +135,12 @@ int Player::play(void){ Sleep(10000); /* Let it play a bit */ /* Stop playing */ - libvlc_media_player_stop (mp); + //libvlc_media_player_stop (mp); /* Free the media_player */ - libvlc_media_player_release (mp); + //libvlc_media_player_release (mp); - libvlc_release (inst); + //libvlc_release (inst); std::cout << "play...stop" << std::endl; return 0; } diff --git a/player.h b/player.h index de559fa..c3f0b0e 100644 --- a/player.h +++ b/player.h @@ -1,19 +1,26 @@ #ifndef PLAYER_H #define PLAYER_H +#include #include #include +#include +#include -class Player{ +class Player : public QObject { + Q_OBJECT public: Player(); ~Player(); - int play(void); int get_Sender() { return this->Sender; } QString get_Name(int x) { return this->Name[x]; } QString get_URL(int x) { return this->URL[x]; } + public slots: + int play(QListWidgetItem *item); + private: + int val; static write_data(void*, size_t, size_t , void*); int sender_holen(void); int sender_laden(void); @@ -22,6 +29,10 @@ class Player{ QString Name[10000]; QString URL[10000]; QFrame *videoWidget; + libvlc_instance_t * inst; + libvlc_media_player_t *mp=0; + libvlc_media_t *m; + }; #endif // PLAYER_H