Meego 1.2 Harmattan 和 QCamera 应用程序
Posted
技术标签:
【中文标题】Meego 1.2 Harmattan 和 QCamera 应用程序【英文标题】:Meego 1.2 Harmattan and QCamera application 【发布时间】:2011-09-02 08:35:41 【问题描述】:有没有办法在诺基亚 N9(Meego 1.2 Harmattan)中使用具有 QCamera 类的相机,或者我应该使用另一个?
这是我的问题:在诺基亚 C6-01 (Symbian Anna) 上运行良好的简单应用程序在 N9 上没有任何用处。
这里是代码片段:
testmobile.pro
<...>
CONFIG += mobility
MOBILITY += multimedia
LIBS += -lQtMultimediaKit
<...>
主窗口.h
class MainWindow : public QWidget
Q_OBJECT
<...>
private:
QCamera* camera_;
QGraphicsView *view;
QGraphicsVideoItem *videoItem;
QGraphicsScene *scene;
<...>
主窗口.cpp
MainWindow::MainWindow(QWidget *parent)
: QWidget(parent)
<...>
camera_ = new QCamera;
view = new QGraphicsView(this);
scene = new QGraphicsScene(view);
videoItem = new QGraphicsVideoItem;
view->setScene(scene);
scene->addItem(videoItem);
QVBoxLayout *lay = new QVBoxLayout(this);
lay->addWidget(view);
this->setLayout(lay);
view->show();
camera_->setViewfinder(videoItem);
camera_->start();
<...>
因此,在 MainWindow 对象构建并显示后,我们将在诺基亚 C6-01 上看到一个简单的取景器,在诺基亚 N9 上看到黑屏。
有什么想法吗?
【问题讨论】:
【参考方案1】:我找到了解决方案! 这是安全问题。正如我发现的那样——Meego 具有类似于 Symbian 的“功能”。它被称为 AEGIS 安全令牌。 因此,要请求使用相机(或任何其他)的权限,您应该将 your_application_name.agis 文件添加到项目的“qtc_packaging/debian_harmattan”文件夹中。 在我的例子中,这个文件包括:
<aegis>
<request>
<credential name="GRP::video"/>
<credential name="GRP::pulse-access"/>
<for path="/opt/testmobile/bin/testmobile"/>
</request>
</aegis>
所以权限定义在“credential”标签的“name”属性中,“for path”标签定义包来执行这些权限。
更多信息可以找到here
【讨论】:
以上是关于Meego 1.2 Harmattan 和 QCamera 应用程序的主要内容,如果未能解决你的问题,请参考以下文章