Frage

Ich habe Probleme mit dem Start von Nokias eigener Videoplayer aus meiner Anwendung, dass ich einfach nicht lösen kann.

Mein erster Versuch inklusive Anrufe generasacodicetagpre.

von qml und das schien den Trick gut zu tun, außer dass er jeden Mal den Browser öffnete und es anstelle der Video-Suite (Native Player) verwendete.

Als nächstes habe ich Cutetube-Kapital versucht, wo ich mit dem neuen Prozess so starte: generasacodicetagpre.

das funktionierte, mit der Ausnahme, dass die Video-Suite beim Anruf von Player-> Start geschlossen wurde. Andernfalls tat es nichts.

Mein dritter Versuch beteiligte sich mit der Video-Suite über qdbus, aber das funktionierte nicht besser: generasacodicetagpre.

Das Problem damit ist, dass die Video-Suite auf- und auszuführen ist - AutostartService-Parameter hat auch nicht geholfen. Wenn die Video-Suite bereits nicht läuft, öffnet der Anruf es einfach gut, aber leider beginnt kein Video zu spielen.

schließlich habe ich versucht, auch VideosuiteInterface , aber selbst das Programm kompiliert, schien es schwierig zu sein. Wenn ich schließlich gelungen, alle relevanten Bibliotheken zusammenzustellen und zu verknüpfen, unterschieden sich die Ergebnisse nicht von der Option 3.

gibt es also eine Möglichkeit, entweder direkt oder über dbus entweder ein Video-SuiteInterface zu verwenden, sodass sie die Videowiedergabe unabhängig vom aktuellen Status der Anwendung starten würde?

War es hilfreich?

Lösung

The solution was actually simpler than I really thought initially; the VideoSuiteInterface -approach worked after all. All it took was to use it properly. Here are the full sources should anyone want to try it themselves.

player.h:

#ifndef PLAYER_H
#define PLAYER_H
#include <QObject>
#include <maemo-meegotouch-interfaces/videosuiteinterface.h>

class Player : public QObject {
  Q_OBJECT
private:
  VideoSuiteInterface* videosuite;
public:
  Player(QObject *parent = 0);
  Q_INVOKABLE void play(QString url);
};
#endif // PLAYER_H

player.cpp:

#include "player.h"
#include <QObject>
#include <QStringList>
#include <QtDeclarative>

Player::Player(QObject *parent) : QObject(parent) {}

void Player::play(QString url) {
  QList<QVariant> args;
  QStringList urls;
  urls << url;
  args.append(urls);

  videosuite = new VideoSuiteInterface();
  videosuite->play(urls);
}

In addition you may want to connect some signals to make the UI more responsive, but basically that should do the trick.

Finally, you need to remember to add following to your .pro file and you are good to go:

CONFIG += videosuiteinterface-maemo-meegotouch
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top