2016-06-06 19 views
7

Próbuję wykonać przykład QCamera na Ubuntu, Qt 5.6. "Komunikat dotyczący usługi aparatu" został zauważony.qt Przykład kamery nie działa

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

Dostałeś to działa? – talamaki

+0

Czy to działa? Mam ten sam problem na Kubuntu16.04 z QT 5.7. Mam/dev/video0, a VLC jest w stanie przesyłać strumień z kamery. – zorglub76

Odpowiedz

0

Sprawdzanie przykład code wydaje przykład próbuje skonstruować obiekt kamery z domyślnej kamery. Metoda setCamera jest oczywiście wywoływana z informacją o kamerze, która jest nieprawidłowa.

setCamera(QCameraInfo::defaultCamera()); 

można sprawdzić, zmieniając go

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

To oczywiście spodziewa się, że aparat znajduje się od /dev/video0. Możesz sprawdzić, czy istnieje. Jeśli Twój aparat jest podobny do wideo1 lub wideo2, możesz zmienić jego nazwę na wideo0 i spróbować ponownie.

Możesz również dodać komunikat do debugowania do pętli for w konstruktorze klasy Kamera, aby zobaczyć nazwy dostępnych kamer (i zmodyfikuj kod, aby wybrać inne niż domyślne kamery).

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

Sprawdź, czy masz zainstalowane wszystkie zależności. Są to:

qtmultimedia5-dev

_

libqt5multimedia5-plugins

Ex:

sudo apt-get install libqt5multimedia5-plugins 
+0

nie działa tutaj (Qt5.9) – nerdoc

+1

nie, tak. Teraz komunikat o błędzie jest brakujący wtyczki camerabin dla gstreamer 1.10. Jest to wskaźnik do gstreamer1.0-plugins-bad, który rozwiązuje problem. – elephant

Powiązane problemy