Help to understand simple thing plz _))
-
// Hey guys, that's my first article so sorry, I am newbie with Qt framework but have a lot of experience with C programming. //Just have read couple books about QT and got into my first trouble. The point is about misunderstanding of basics. This //example I found on official site and it works.
player = new QMediaPlayer;
player->setMedia(QUrl::fromLocalFile("/Users/me/Music/coolsong.mp3")); // With my own path
player->setVolume(50);
player->play();
// But when i try to go like QMediaPlayer player instead of QMediaPlayer* player = new QMediaPlayer and then
player.setMedia(QUrl::fromLocalFile("/Users/me/Music/coolsong.mp3")); // With my own path
player.setVolume(50);
player.play();
// I got an error in application output tab like GStream can't pause - file://filepath.
// Tried to rollback to normal state and then back again to error but this time can't see error, but song does not work;
// So the question is what should I know about this thing. _)) -
-
@JonB __CPP_INIT(GHOST_PLAYER)(const QApplication& Self, QWidget* Parent)
: QWidget(Parent)
{
// setupUi(this);QMediaPlayer* player = new QMediaPlayer;
player->setMedia(QUrl::fromLocalFile("/home/standby/LG7Y.mp3")); player->setVolume(50); player->play();
}
__CPP_DEINIT(GHOST_PLAYER){
}
int main(int argc, char** argv){
QApplication GhostPlayer(argc, argv);
GhostPlayer.setOrganizationName(APP_VENDOR);
GhostPlayer.setOrganizationDomain(APP_LINK);
GhostPlayer.setApplicationDisplayName(APP_NAME);
GhostPlayer.setApplicationName(APP_NAME);
GhostPlayer.setApplicationVersion(APP_VERSION);//-------------------------------------------------------------------------------|
// Playground
QMediaPlayer player;
player.setMedia(QUrl::fromLocalFile("/home/standby/LG7Y.mp3"));
player.setVolume(50);
player.play();GHOST_PLAYER GPlayer(GhostPlayer);
GPlayer.setWindowTitle("Ghost Player Version: 0.0.1");
GPlayer.show();//-------------------------------------------------------------------------------|
return GhostPlayer.exec();
} -
@JonB said in Help to understand simple thing plz _)):
then I don't know why it should not work.
I would guess player.play() maybe needs a running Qt eventloop which is not started here at all.
-
@Christian-Ehrlicher
But the OP says it works if he usesQMediaPlayer *player = new QMediaPlayer
rather thanQMediaPlayer player;
, why should that matter?? -
In this 2 ways it works, but if I write this will not
__CPP_INIT(GHOST_PLAYER)(const QApplication& Self, QWidget* Parent)
: QWidget(Parent)
{
// setupUi(this);QMediaPlayer player;
player.setMedia(QUrl::fromLocalFile("/home/standby/LG7Y.mp3")); player.setVolume(50); player.play();
}
-
@JonB Okay U have a right I put QMediaPlayer player; into class definition wrote this into constructor and it works now
__CPP_INIT(GHOST_PLAYER)(const QApplication& Self, QWidget* Parent)
: QWidget(Parent)
{
// setupUi(this);player.setMedia(QUrl::fromLocalFile("/home/standby/LG7Y.mp3")); player.setVolume(50); player.play();
}
// Going to read Straustrup again ahaha, thanks guys a lot appreciated so hard for response _))