あなたは間違っている木、thisが動作するはずアップ吠えている、フォノンからQImageのスナップショットを使用して()FUNCを作成:: VideoWidget
編集
私はさらに、この問題を調査しました。スナップショット機能は実装されていません。 (videowidgetinterface.hから)次のように
QImage VideoWidget::snapshot() const {
P_D(const VideoWidget);
ConstIface<IFACES4> iface(d);
if(iface) return iface->snapshot();
return QImage(); // TODO not implemented in VideoInterface
}
IFACES4がVideoWidgetInterface44指すフォノン4.4のために定義される:
class VideoWidgetInterface
{
public:
virtual ~VideoWidgetInterface() {}
virtual Phonon::VideoWidget::AspectRatio aspectRatio() const = 0;
virtual void setAspectRatio(Phonon::VideoWidget::AspectRatio) = 0;
virtual qreal brightness() const = 0;
virtual void setBrightness(qreal) = 0;
virtual Phonon::VideoWidget::ScaleMode scaleMode() const = 0;
virtual void setScaleMode(Phonon::VideoWidget::ScaleMode) = 0;
virtual qreal contrast() const = 0;
virtual void setContrast(qreal) = 0;
virtual qreal hue() const = 0;
virtual void setHue(qreal) = 0;
virtual qreal saturation() const = 0;
virtual void setSaturation(qreal) = 0;
virtual QWidget *widget() = 0;
virtual int overlayCapabilities() const = 0;
virtual bool createOverlay(QWidget *widget, int type) = 0;
};
class VideoWidgetInterface44 : public VideoWidgetInterface
{
public:
virtual QImage snapshot() const = 0;
};
}
#ifdef PHONON_BACKEND_VERSION_4_4
namespace Phonon { typedef VideoWidgetInterface44 VideoWidgetInterfaceLatest; }
#else
namespace Phonon { typedef VideoWidgetInterface VideoWidgetInterfaceLatest; }
#endif
私も見ていたここでフォノンのsrc videowidget.cppに実装されますgstreamerおよびvlcバックエンドの実装phonon 4.4のスナップショット機能はまだサポートされていません。ですから、私はスナップショットを作成する他の方法を検討しています。
私もこれを試しました[http://developer.qt.nokia.com/forums/viewthread/2487]と[this](https://bugreports.qt.nokia.com/browse/QTBUG) -21491)は、私が唯一苦労しているわけではないことを示しているようです。 qt ffmpegラッパーを使ってみることにしました。同様のピクルスの人々のために報告します。 – Sixx
お返事ありがとうございます:) – Sixx