2016-06-06 15 views
7

Sto provando ad eseguire l'esempio QCamera su Ubuntu, Qt 5.6. Messaggio "Il servizio fotocamera mancante" osservato.qt L'esempio di fotocamera non funziona

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera" 
+0

Ti è farlo funzionare? – talamaki

+0

Hai funzionato? Sto riscontrando lo stesso problema su Kubuntu 16.04 con QT 5.7. Ho/dev/video0 e VLC è in grado di streaming dalla fotocamera. – zorglub76

risposta

0

Controllo esempio code sembra l'esempio tenta di costruire l'oggetto fotocamera con videocamera predefinita. Il metodo setCamera è ovviamente chiamato con informazioni sulla fotocamera che non è valido.

setCamera(QCameraInfo::defaultCamera()); 

è possibile verificare che cambiando a

QCameraInfo info = QCameraInfo::defaultCamera(); 
if (!info.isNull()) 
{ 
    setCamera(info); 
} 
else 
{ 
    qError() << "Default camera not found!"; 
} 

Si aspetta, ovviamente, la macchina fotografica sia situato /dev/video0. Potresti controllare se esiste. Se la tua videocamera è simile a video1 o video2, puoi rinominarla in video0 e riprovare.

È anche possibile aggiungere un messaggio di debug al ciclo for nel costruttore della classe Camera per visualizzare i nomi dei dispositivi delle telecamere disponibili (e modificare il codice per selezionare una telecamera diversa da quella predefinita).

foreach (const QCameraInfo &cameraInfo, QCameraInfo::availableCameras()) { 
{ 
    qDebug() << cameraInfo.deviceName(); 
} 
1

Verificare se sono state installate tutte le dipendenze. Essi sono:

qtmultimedia5-dev

_

libqt5multimedia5-plugins

Ex:

sudo apt-get install libqt5multimedia5-plugins 
+0

non ha funzionato qui (Qt5.9) – nerdoc

+1

no, lo ha fatto. Ora il messaggio di errore è mancante nel plugin camerabin per gstreamer 1.10. È un puntatore a gstreamer1.0-plugins-bad, che risolve il problema. – elephant

Problemi correlati