Sto usando Ubuntu 14.04. Ho installato Ubuntu SDK senza problemi utilizzando le istruzioni sul sito Web di Ubuntu. Ho creato un nuovo progetto QML. Voglio creare un'app che utilizzi Qt Audio Engine. Ecco il mio codice in cui sto testando il motore audio:
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"
}
}
}
Quando provo ad eseguire il programma, viene visualizzato un errore:il modulo “QtAudioEngine” non è installato.
Il Qt Audio Engine si trova nell'attuale API QML di Ubuntu. Perché non è nell'SDK? Devo in qualche modo installarlo da solo o verrà aggiunto dal team di sviluppo?
Risposta accettata:
Ho usato questa versione modificata del tuo codice (piccole modifiche alle schede) per testare ciò che mancava:
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"
}
}
}
Fondamentalmente devi installare il seguente pacchetto per una destinazione Desktop:
sudo apt-get install qtdeclarative5-qtaudioengine-plugin
Per Ubuntu Touch:
sudo apt-get install qtdeclarative5-qtaudioengine-touch-plugin
Infine puoi testarlo con 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.