2011-09-02 30 views
2

是否有任何方式與諾基亞N9(Meego 1.2 Harmattan)的QCamera類相機或我應該使用另一個?Meego 1.2 Harmattan和QCamera應用程序

這是我的問題:在諾基亞C6-01(Symbian Anna)上正常工作的簡單應用程序在N9上沒有​​任何用處。

我這裏還有代碼snipets:

testmobile.pro

<...> 
CONFIG += mobility 
MOBILITY += multimedia 
LIBS += -lQtMultimediaKit 
<...> 

mainwindow.h

class MainWindow : public QWidget 
{ 
    Q_OBJECT 
    <...> 
    private: 
     QCamera* camera_; 
     QGraphicsView *view; 
     QGraphicsVideoItem *videoItem; 
     QGraphicsScene *scene; 
    <...> 
} 

mainwindow.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(); 
} 

<...> 

所以主窗口對象被構造後並顯示我們將在諾基亞C6-01上使用簡單的取景器,在諾基亞N9上使用黑色屏幕。

任何想法?

回答

4

我找到解決方案! 這是安全問題。正如我發現的那樣 - 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> 

所以任何權限在「證書」標籤和「爲路徑」標籤的「名稱」屬性定義定義包與執行這些權限。

更多相關信息,請登錄here

相關問題