有没有人建造一个Qt应用S60(第三版,FP2)播放(流或本地)视频?

我想 '在' 一个小工具来播放视频,而不是与(比如说)QDesktopServices。

我知道有关于如何与Symbian等的这里这里但我仍然坚持。

(提前交叉发表道歉:我在其他地方问过,但没有成功)

有帮助吗?

解决方案

4的Qt包括一套多媒体API称为声子,它允许你完成这一点的。他们目前正在实施为Symbian - 而 Qt的为S60“塔”预发行 不包括用于声子在Symbian,Qt的4.6将做支持。

在此期间,你唯一的选择是直接使用Symbian MMF的API。具体来说,您的视频窗件 - 或者将其拥有的对象 - 将需要创建CVideoPlayerUtility的实例,因此将需要实现MVideoPlayerUtilityObserver。视频播放器API要求客户端提供在其中显示该视频的RWindow对象 - 这可以通过调用QWidget::winId(),它返回一个指针CCoeControl*来获得。因此,可以通过调用获得一个窗口句柄

RWindow& window = *static_cast<RWindow*>(widget->winId()->DrawableWindow())

所有的一切不过,从Qt的应用程序基于Symbian播放视频(或任何应用程序)目前需要相当多的工作 - 特别是如果你想支持视频内容的动态调整大小和/或重新定位。还需要注意的是在Qt是目前Symbian的执行方式是指移动的其他部件(部分或全部)的视频窗件的顶部将无法正常工作 - 视频将继续出现在上面。这是由于这样的事实,呼叫QWidget::winId()目前不引起Qt来创建本地Symbian窗口,并且将在4.6进行整流。

总之,除非你是在急于要做到这一点,它可能是更好等待公测4.6这是由于在几个星期的时间。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top