Používám Ubuntu 14.04. Nainstaloval jsem Ubuntu SDK bez problémů pomocí pokynů na webu Ubuntu. Vytvořil jsem nový projekt QML. Chci vytvořit aplikaci, která používá Qt Audio Engine. Zde je můj kód, kde testuji zvukový modul:
import QtQuick 2.0
import Ubuntu.Components 0.1
import QtAudioEngine 1.0
import "ui"
MainView {
// objectName for functional testing purposes (autopilot-qt5)
objectName: "mainView"
// Note! applicationName needs to match the "name" field of the click manifest
applicationName: "com.ubuntu.developer..AudioEngineTest"
/*
This property enables the application to change orientation
when the device is rotated. The default is false.
*/
//automaticOrientation: true
width: units.gu(100)
height: units.gu(75)
AudioEngine {
}
Tabs {
id: tabs
HelloTab {
objectName: "helloTab"
}
WorldTab {
objectName: "worldTab"
}
}
}
Při pokusu o spuštění programu se zobrazí chyba:modul „QtAudioEngine“ není nainstalován.
Qt Audio Engine je v aktuálním Ubuntu QML API. Proč to není v SDK? Mám to nějak nainstalovat sám nebo to přidá vývojový tým?
Přijatá odpověď:
Použil jsem tuto upravenou verzi vašeho kódu (malé změny na kartách), abych otestoval, co chybí:
import QtQuick 2.0
import Ubuntu.Components 0.1
import QtAudioEngine 1.0
import "ui"
MainView {
// objectName for functional testing purposes (autopilot-qt5)
objectName: "mainView"
// Note! applicationName needs to match the "name" field of the click manifest
applicationName: "com.ubuntu.developer.AudioEngineTest"
/*
This property enables the application to change orientation
when the device is rotated. The default is false.
*/
//automaticOrientation: true
width: units.gu(100)
height: units.gu(75)
AudioEngine {
}
Tabs {
id: tabs
Tab {
title: "helloTab"
}
Tab {
title: "worldTab"
}
}
}
V zásadě potřebujete nainstalovat následující balíček pro cíl Desktop:
sudo apt-get install qtdeclarative5-qtaudioengine-plugin
Pro Ubuntu Touch:
sudo apt-get install qtdeclarative5-qtaudioengine-touch-plugin
Nakonec to můžete otestovat pomocí qmlscene:
$ qmlscene ./audio.qml
Module 'QtAudioEngine' does not contain a module identifier directive - it cannot be protected from external registrations.
unity::action::ActionManager::ActionManager(QObject*):
Could not determine application identifier. HUD will not work properly.
Provide your application identifier in $APP_ID environment variable.
default openal device = OpenAL Soft
device list:
OpenAL Soft
AudioEngine begin initialization
creating default category
init samples 0
init sounds 0
AudioEngine ready.