This commit is contained in:
Thomas resiX 2025-02-15 07:34:15 +01:00
parent d208da3b56
commit 53831d0ec5
3 changed files with 43 additions and 24 deletions

View file

@ -16,7 +16,8 @@ int main(int argc, char* argv[]) {
QApplication app(argc, argv); QApplication app(argc, argv);
QWidget window; QWidget window;
window.resize(150,576); //window.resize(200,576);
window.setGeometry(20,50,210,576);
Player player; Player player;
@ -25,18 +26,10 @@ int main(int argc, char* argv[]) {
liste.addItem(player.get_Name(x)); 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); QHBoxLayout layout(&window);
layout.addWidget(&liste); layout.addWidget(&liste);
window.show(); 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(); return app.exec();
} }

View file

@ -9,6 +9,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <QFile> #include <QFile>
#include <QListWidget>
#include "player.h" #include "player.h"
@ -19,8 +20,9 @@ Player::Player(){
this->sender_laden(); this->sender_laden();
//this->sender_ausgeben(); //this->sender_ausgeben();
//this->play(); // Play init
//this->play(); /* Load the VLC engine */
inst = libvlc_new (0, NULL);
} }
Player::~Player(){ Player::~Player(){
std::cout << "beende..." << std::endl; std::cout << "beende..." << std::endl;
@ -87,17 +89,30 @@ int Player::sender_ausgeben(void){
} }
return 0; return 0;
} }
int Player::play(void){ int Player::play(QListWidgetItem *item){
libvlc_instance_t * inst;
libvlc_media_player_t *mp; if (!item)
libvlc_media_t *m; 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; 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 */ /* 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 */ /* Create a media player playing environement */
mp = libvlc_media_player_new_from_media (m); mp = libvlc_media_player_new_from_media (m);
@ -120,12 +135,12 @@ int Player::play(void){
Sleep(10000); /* Let it play a bit */ Sleep(10000); /* Let it play a bit */
/* Stop playing */ /* Stop playing */
libvlc_media_player_stop (mp); //libvlc_media_player_stop (mp);
/* Free the media_player */ /* 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; std::cout << "play...stop" << std::endl;
return 0; return 0;
} }

View file

@ -1,19 +1,26 @@
#ifndef PLAYER_H #ifndef PLAYER_H
#define PLAYER_H #define PLAYER_H
#include <QObject>
#include <QFile> #include <QFile>
#include <QFrame> #include <QFrame>
#include <QListWidget>
#include <vlc/vlc.h>
class Player{ class Player : public QObject {
Q_OBJECT
public: public:
Player(); Player();
~Player(); ~Player();
int play(void);
int get_Sender() { return this->Sender; } int get_Sender() { return this->Sender; }
QString get_Name(int x) { return this->Name[x]; } QString get_Name(int x) { return this->Name[x]; }
QString get_URL(int x) { return this->URL[x]; } QString get_URL(int x) { return this->URL[x]; }
public slots:
int play(QListWidgetItem *item);
private: private:
int val;
static write_data(void*, size_t, size_t , void*); static write_data(void*, size_t, size_t , void*);
int sender_holen(void); int sender_holen(void);
int sender_laden(void); int sender_laden(void);
@ -22,6 +29,10 @@ class Player{
QString Name[10000]; QString Name[10000];
QString URL[10000]; QString URL[10000];
QFrame *videoWidget; QFrame *videoWidget;
libvlc_instance_t * inst;
libvlc_media_player_t *mp=0;
libvlc_media_t *m;
}; };
#endif // PLAYER_H #endif // PLAYER_H