Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
1

Phonon: не понятная ошибка

27.04.2015, 09:44. Показов 1607. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, что-то как-то не работает Phonon, выдает ошибку, подскажите пожалуйста, вот код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/*
 * File:   main.cpp
 * Author: u0807
 *
 * Created on 10 марта 2015 г., 15:57
 */
 
#include "myClass.h"
 
 
    QString ping_Around;
    QStringList arguments;
    QStringList arguments1;
    QStringList arguments2;
    QStringList arguments3;
    QProcess myProcess;
    QProcess myProcess1;
    QProcess myProcess2;
    QProcess myProcess3;
    QStringList strlstPingResults;
    QStringList strlstPingResults1;
    QStringList strlstPingResults2;
    QStringList strlstPingResults3;
    QStringList Ss[4];
    QGraphicsTextItem* itemText[4];
    QString count_Pack[4];
    QPushButton* Add_Host;
    Phonon::MediaObject *mediaO;
 
 
void myClass::timer_overflow() {
    myProcess.start(ping_Around, arguments);
    myProcess.waitForFinished(1000);
    myProcess1.start(ping_Around, arguments1);
    myProcess1.waitForFinished(1000);
    myProcess2.start(ping_Around, arguments2);
    myProcess2.waitForFinished(1000);
    myProcess3.start(ping_Around, arguments3);
    myProcess3.waitForFinished(1000);
    
    strlstPingResults<<myProcess.readAll();
    Ss[0] = strlstPingResults[0].split('\n');
    strlstPingResults1<<myProcess1.readAll();
    Ss[1] = strlstPingResults1[0].split('\n');
    strlstPingResults2<<myProcess2.readAll();
    Ss[2] = strlstPingResults2[0].split('\n');
    strlstPingResults3<<myProcess3.readAll();
    Ss[3] = strlstPingResults3[0].split('\n');
    for (int i = 0; i < 4; i++) {
        if (Ss[i].count() > 1) {
            count_Pack[i] = Ss[i][4].mid(23, 1);
        }
    }
    for (int i = 0; i < 4; i++) {
        if (count_Pack[i].count() > 0) {
            if (count_Pack[i] == "1") {
                item[i]->setBrush(QBrush(Qt::green));
 
            }
        }
        else {
            item[i]->setBrush(QBrush(Qt::red));
        }
    }
    
}
 
 
void myClass::btnClicked() {
    
}
 
 
void myClass::slotFinished() {
    
}
 
myClass::myClass(QObject *parent): QGraphicsScene(parent) {
    QFont fontForButton;
    fontForButton.setPointSize(7);
    
    mediaO = new Phonon::MediaObject(this);
    
    QObject::connect(mediaO, SIGNAL(finished()), this, SLOT(slotFinished()));
    QString str("Active.wav");
    mediaO->setCurrentSource(str);
    mediaO->play();
    
    Add_Host = new QPushButton("&Add", 0);
    Add_Host->setFixedSize(23, 20);
    Add_Host->setGeometry(-94, 30, 23, 20);
    Add_Host->setFont(fontForButton);
    
    QObject::connect(Add_Host, SIGNAL(clicked()), this, SLOT(btnClicked()));
    QGraphicsProxyWidget * item_Widget = addWidget(Add_Host);
    Add_Host->show();
    
    ping_Around = "/bin/ping";
    arguments << "-c" << "1" << "10.31.3.130";
    arguments1 << "-c" << "1" << "10.31.4.130";
    arguments2 << "-c" << "1" << "10.31.5.130";
    arguments3 << "-c" << "1" << "10.31.6.130";
    this->setSceneRect(QRectF(-90, 0, 15, 15));
    
    for (int i = 0; i < 4; i++) {    
        item[i] = new QGraphicsEllipseItem(0, this);
        item[i]->setRect(QRectF(-90, -35 + (i * 16), 15, 15));
        item[i]->setBrush(QBrush(Qt::yellow));
    }
    itemText[1] = new QGraphicsTextItem(0, this);
    timer = new QTimer;
    QObject::connect(timer, SIGNAL(timeout()), this, SLOT(timer_overflow()));
    timer->start(4500);
}
 
 
int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    myClass m;
    QGraphicsView v(&m);
    v.setWindowFlags(Qt::WindowStaysOnTopHint);
    v.setRenderHints(QPainter::Antialiasing);
    v.show();
    v.setGeometry(1350, 700, 23, 90); 
    
    return app.exec();
}
вот вывод сборщика:

вывод сборщика
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE=/usr/bin/qmake SUBPROJECTS= .build-conf
make[1]: Вход в каталог `/home/u0807/NetBeansProjects/QtApplication_2'
/usr/bin/qmake VPATH=. -o qttmp-Debug.mk nbproject/qt-Debug.pro
mv -f qttmp-Debug.mk nbproject/qt-Debug.mk
"/usr/bin/make" -f nbproject/qt-Debug.mk dist/Debug/GNU_1-Linux-x86/QtApplication_2
make[2]: Вход в каталог `/home/u0807/NetBeansProjects/QtApplication_2'
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -Inbproject -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Inbproject -I. -o build/Debug/GNU_1-Linux-x86/main.o main.cpp
main.cpp: In constructor ‘myClass::myClass(QObject*)’:
main.cpp:89:33: warning: ‘Phonon::MediaSource::MediaSource(const QString&)’ is deprecated (declared at /usr/include/qt4/phonon/mediasource.h:144) [-Wdeprecated-declarations]
mediaO->setCurrentSource(str);
^
main.cpp:98:28: warning: unused variable ‘item_Widget’ [-Wunused-variable]
QGraphicsProxyWidget * item_Widget = addWidget(Add_Host);
^
g++ -o dist/Debug/GNU_1-Linux-x86/QtApplication_2 build/Debug/GNU_1-Linux-x86/main.o build/Debug/GNU_1-Linux-x86/moc_myClass.o -L/usr/lib/i386-linux-gnu -lQtGui -lQtCore -lpthread
build/Debug/GNU_1-Linux-x86/main.o: In function `myClass::myClass(QObject*)':
/home/u0807/NetBeansProjects/QtApplication_2/main.cpp:85: undefined reference to `Phonon::MediaObject::MediaObject(QObject*)'
/home/u0807/NetBeansProjects/QtApplication_2/main.cpp:89: undefined reference to `Phonon::MediaSource::MediaSource(QString const&)'
/home/u0807/NetBeansProjects/QtApplication_2/main.cpp:89: undefined reference to `Phonon::MediaObject::setCurrentSource(Phonon::MediaSource const&)'
/home/u0807/NetBeansProjects/QtApplication_2/main.cpp:89: undefined reference to `Phonon::MediaSource::~MediaSource()'
/home/u0807/NetBeansProjects/QtApplication_2/main.cpp:90: undefined reference to `Phonon::MediaObject:lay()'
/home/u0807/NetBeansProjects/QtApplication_2/main.cpp:89: undefined reference to `Phonon::MediaSource::~MediaSource()'
collect2: error: ld returned 1 exit status
make[2]: *** [dist/Debug/GNU_1-Linux-x86/QtApplication_2] Ошибка 1
make[2]: Выход из каталога `/home/u0807/NetBeansProjects/QtApplication_2'
make[1]: *** [.build-conf] Ошибка 2
make[1]: Выход из каталога `/home/u0807/NetBeansProjects/QtApplication_2'
make: *** [.build-impl] Ошибка 2

СОБРАТЬ FAILED (значение выхода 2,, общее время: 3s)


Добавлено через 1 час 43 минуты
Внес кое-какие изменения
код объявления перенёс в заголовочный файл:


C++ (Qt)
1
Phonon::MediaObject *mediaO;

Убрал this при создании объекта phonon


C++ (Qt)
1
2
3
mediaO = new Phonon::MediaObject; //это
//вместо
mediaO = new Phonon::MediaObject(this); //этого

И пробовал перенести код запуска файла в слот slotFinished():



C++ (Qt)
1
2
3
4
5
void myClass::slotFinished() {
    QString str("Active.wav");
    mediaO->setCurrentSource(str);
    mediaO->play();
}

То есть сделал все так как при создании таймера.
Не помогло, те же самые ошибки.

Добавлено через 1 час 12 минут
Вроде как линковщик не находит библиотеку phonon. Подскажите, где у qt хранятся по умолчанию библиотеки, я нашел у себя файл libphonon.so, это то что нужно? Установил кучу пакетов phonon, как его теперь прикрутить к проекту?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2015, 09:44
Ответы с готовыми решениями:

Ошибка phonon в релизе на некоторых компах
Есть программа, использующая phonon для воспроизведения звука. Звуковые файлы на воспроизведение...

Не собирается, не запускается. Ошибка: Unknown module(s) in QT: phonon
Всем привет! Столкнулся с проблемой, запускаю проект, написанный на Qt, но при сборке выдает...

не понятная ошибка
Выручайте,кусок кода выдает ошибку, Parse error: syntax error, unexpected T_VARIABLE in...

Не понятная ошибка
Здорова господа! Вообщем проблема. Написал короче программку как бы имитация контейнеров с общим...

18
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
27.04.2015, 17:05 2
В .pro файле добавить QT += phonon
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
28.04.2015, 05:02  [ТС] 3
В qt-Debug.pro нужно добавить? Я добавил в qt-Debug.pro QT += phonon, но эта строка удаляется когда начинается сборка.
0
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
28.04.2015, 12:51 4
должен быть файл <имя_проекта>.pro - в нем и добавляйте эти строки.
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
29.04.2015, 02:19  [ТС] 5
У меня в проекте нет файла имя_роекта.pro есть только qt-Debug.pro, qt-Release.pro. Без phonon всё прекрасно компилится.
0
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
29.04.2015, 20:05 6
выкладывайте оба
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
30.04.2015, 02:14  [ТС] 7
qt_Debug.pro
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# This file is generated automatically. Do not edit.
# Use project properties -> Build -> Qt -> Expert -> Custom Definitions.
TEMPLATE = app
DESTDIR = dist/Debug/GNU_1-Linux-x86
TARGET = QtApplication_2
VERSION = 1.0.0
CONFIG -= debug_and_release app_bundle lib_bundle
CONFIG += debug 
PKGCONFIG +=
QT = core gui widgets
SOURCES += main.cpp
HEADERS += myClass.h
FORMS +=
RESOURCES +=
TRANSLATIONS +=
OBJECTS_DIR = build/Debug/GNU_1-Linux-x86
MOC_DIR = 
RCC_DIR = 
UI_DIR = 
QMAKE_CC = gcc
QMAKE_CXX = g++
DEFINES += 
INCLUDEPATH += 
LIBS +=
qt-Release.pro
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# This file is generated automatically. Do not edit.
# Use project properties -> Build -> Qt -> Expert -> Custom Definitions.
TEMPLATE = app
DESTDIR = dist/Release/GNU_1-Linux-x86
TARGET = QtApplication_2
VERSION = 1.0.0
CONFIG -= debug_and_release app_bundle lib_bundle
CONFIG += release 
PKGCONFIG +=
QT = core gui widgets
SOURCES += main.cpp
HEADERS += myClass.h
FORMS +=
RESOURCES +=
TRANSLATIONS +=
OBJECTS_DIR = build/Release/GNU_1-Linux-x86
MOC_DIR = 
RCC_DIR = 
UI_DIR = 
QMAKE_CC = gcc
QMAKE_CXX = g++
DEFINES += 
INCLUDEPATH += 
LIBS +=
0
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
30.04.2015, 09:09 8
ни хедеры, ни либы не подключены.
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
30.04.2015, 09:27  [ТС] 9
ни хедеры, ни либы не подключены ТЧК
Я в курсе, что они не подключены, я же пытался их подключить, строки с подключением удаляются почему-то. Подскажите кто-нибудь как их подключить?
0
66 / 66 / 18
Регистрация: 31.03.2015
Сообщений: 253
30.04.2015, 11:03 10
Подозреваю, что используете среду NetBeans. Он как раз дописывает подобные хедеры о создателе и времени создания файла в начало.
Вам надо искать не qt_Debug.pro, а <названия проекта>.pro файл и изменять уже его.
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
30.04.2015, 14:19  [ТС] 11
Да, Вы правы насчет NetBeans, я вроде все папки проекта просмотрел, не нашел я <имя_проекта>.pro. Ну после выходных еще раз посмотрю, но сомневаюсь что что-то найду.
0
66 / 66 / 18
Регистрация: 31.03.2015
Сообщений: 253
30.04.2015, 14:51 12
Если нету проектного файла, то что же тогда окрывает среда?
Она по .h/.cpp файлах не поймет что и куда компилить.
qt_Debug.pro и qt_Release.pro как раз и генерируются на базе нужного вам файла.
Смотрите внимательно
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
05.05.2015, 01:57  [ТС] 13
Обсмотрел все папки проекта раз на 10, не нашел я <имя_проекта>.pro, ну нет его там, не виноват я. Может он где-то в другом месте хранится?
0
66 / 66 / 18
Регистрация: 31.03.2015
Сообщений: 253
05.05.2015, 12:04 14
Выложите простой перечень всего что у вас в папке/подпапках проекта есть.
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
06.05.2015, 02:12  [ТС] 15
Список файлов пректа

myClass.h
moc_myClass.cpp
Makefile
main.cpp
moc_myClass.o
main.o
project.xml
qt-Debug.mk
qt-Debug.pro
qt-Release.pro
Package-Release.bash
Package-Debug.bash
Makefile-variables.mk
Makefile-Release.mk
Makefile-impl.mk
Makefile-Debug.mk
configurations.xml
configurations.xml
launcher.properties
Makefile-variables.mk
private.xml
0
66 / 66 / 18
Регистрация: 31.03.2015
Сообщений: 253
06.05.2015, 09:59 16
Лучший ответ Сообщение было отмечено fredwriter как решение

Решение

Если можно - сделайте все это в виде дерева, что б было понятно что в какой подпапке.

Файл configurations.xml. Поищите там что-то подобное <modules> core gui ...</modules>
1
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
06.05.2015, 10:51  [ТС] 17
Цитата Сообщение от yarko Посмотреть сообщение
Поищите там что-то подобное <modules> core gui ...</modules>
Есть там такое.

Добавлено через 6 минут
Туда добавить phonon? Я добавил, вроде запустилось, правда без кода с phonon.

Добавлено через 3 минуты
Раскомментировал код с phonon тоже запустилось.

Добавлено через 7 минут
Но ничего при этот не звучит, перенес код:
C++ (Qt)
1
2
3
    QString str("Active.wav");
    mediaO->setCurrentSource(str);
    mediaO->play();
в конструктор, прошелся дебагером, конкретно (надолго) зависает на строчке:
C++ (Qt)
1
    mediaO->setCurrentSource(str);
0
66 / 66 / 18
Регистрация: 31.03.2015
Сообщений: 253
06.05.2015, 11:15 18
А если указать полный путь к звукфайлу?
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
07.05.2015, 02:39  [ТС] 19
Полный путь не помог. И еще у меня выдаётся warning на строчке:
C++ (Qt)
1
    mediaO->setCurrentSource(str);
warning: ‘Phonon::MediaSource::MediaSource(const QString&)’ is deprecated (declared at /usr/include/qt4/phonon/mediasource.h:144) [-Wdeprecated-declarations]

Добавлено через 2 минуты
Говорит, что что-то там устарело
0
07.05.2015, 02:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2015, 02:39
Помогаю со студенческими работами здесь

Не понятная ошибка
Привет всем, у меня программа при запуске выдаёт ошибку на скрине видна, появилась эта ошибка после...

Не понятная ошибка
Привет Народ! Подскажите пожалуйста, что может значить этот код? java.net.ConnectException:...

Не понятная ошибка
Доброго времени суток...))) С++ изучаю второй день, прошу строго не ругать если моя проблема...

Не понятная ошибка
Пацаны хелпаните с кодом Не понимаю почему не проходит unit Unit1; interface uses...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru