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);
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();
}

View file

@ -9,6 +9,7 @@
#include <stdlib.h>
#include <QFile>
#include <QListWidget>
#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;
}

View file

@ -1,19 +1,26 @@
#ifndef PLAYER_H
#define PLAYER_H
#include <QObject>
#include <QFile>
#include <QFrame>
#include <QListWidget>
#include <vlc/vlc.h>
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