2011-09-02 4 views
2

Nokia N9 (Meego 1.2 Harmattan)의 QCamera 클래스로 카메라를 사용하는 방법이 있습니까? 아니면 다른 카메라를 사용해야합니까?Meego 1.2 Harmattan 및 QCamera 응용 프로그램

여기 내 문제가 있습니다. Nokia 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(); 
} 

<...> 

그래서 MainWindow를 객체가 구성되어 후우리는 Nokia C6-01의 간단한 뷰 파인더와 Nokia N9의 검은 화면을 볼 것입니다.

아이디어가 있으십니까?

답변

4

해결책을 찾았습니다! 보안 문제였습니다. 내가 발견 한대로 - Meego는 Symbian의 "기능"과 유사합니다. 그것은 AEGIS 보안 토큰입니다. 카메라로 작업 할 수있는 권한을 요청하려면 your_application_name.agis 파일을 프로젝트의 "qtc_packaging/debian_harmattan"폴더에 추가해야합니다.

그래서 permissons는 "자격"태그와 "경로"태그의 "이름"속성에 정의되어
<aegis> 
    <request> 
     <credential name="GRP::video"/> 
     <credential name="GRP::pulse-access"/> 
     <for path="/opt/testmobile/bin/testmobile"/> 
    </request> 
</aegis> 

가 이러한 권한을 수행 할 수있는 패키지를 정의 내 경우에는이 파일로 구성되었다.

자세한 내용은 here

관련 문제