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