Phonon QIODevice Problem

Alles rund um die Programmierung mit Qt
Antworten
MuFFin
Beiträge: 2
Registriert: 19. Januar 2009 16:31

Phonon QIODevice Problem

Beitrag von MuFFin »

Hallo,
ich arbeite derzeit an einem Projekt bei dem die eigentliche Videodatei erst bei Offset xy anfängt. In der QT Doc steht, dass man dazu QIODevice subclassen soll:

Code: Alles auswählen

/* HEADER */
class M3stream : public QIODevice
{
private:
    //Eigentliche device
    QIODevice*  m_device;
public:
    M3stream( QIODevice* device );
    ~M3stream();

    bool isSequential() { return true; }

protected:
    qint64 readData(char *data, qint64 maxlen);
    qint64 writeData(const char *data, qint64 len);
};

Code: Alles auswählen

/* SOURCE */
M3stream::M3stream(QIODevice *device)
    :m_device(device)
{

}
M3stream::~M3stream()
{

}

qint64 M3stream::readData(char *data, qint64 maxlen)
{
   //Lese einfach von der Original Datei!
    return m_device->read(data,maxlen);
}
qint64 M3stream::writeData(const char *data, qint64 len)
{
    return m_device->write(data,len);
}
Fürn Anfang wär ich schon damit zufrieden wenn er über die Methode eine ganz normale VideoDatei abspielen würde. Leider bleibt das Widget schwarz. Hat ijemand eine Idee was da falsch ist? Muss ich vll noch Signals & Slots connecten?

Der Aufruf

Code: Alles auswählen

QFile file("/home/muffin/Desktop/zeit_2_2 (Kopie).wmv");
         file.open(QFile::ReadOnly);
         M3stream *stream = new M3stream(&file);
         stream->open(QIODevice::ReadOnly);
         mediaObject->setCurrentSource(Phonon::MediaSource(stream));
Lieben Dank schonmal,
MuFFin
Juergen
Beiträge: 4
Registriert: 2. Oktober 2009 13:24
Wohnort: Bremen

Beitrag von Juergen »

Hi,

ich bin nicht sicher, weil ich ja selber auch grad erst mit der Nutzung von Phonon begonnen habe, aber muß nicht mindestens ein "play" aufgerufen werden?

Code: Alles auswählen

 mediaObject->play();
Gruß
Juergen
MuFFin
Beiträge: 2
Registriert: 19. Januar 2009 16:31

Beitrag von MuFFin »

Hey, ja gut, das play() hab ich vergessen, aber an dem liegts ja auch nicht ;-)
Hab aber inzwischen mitbekommen, dass Phonon für solche Sachen noch zu unausgereift is, werd das ganze Projekt wohl noch ein bisschen vertragen oder mir bei Zeiten ein anderes Framework zu gemüte führen.
Antworten