Название: Мультимедиа в Qt5 линукс минт Отправлено: alexu007 от Февраль 09, 2021, 16:15 Ну, в общем попробовал написать самый примитивный плеер, что-бы воспроизводил один файл (для начала). Где-то так:
.pro Код
.h Код
.cpp Код
естественно не работает. Установил библиотеку "sudo apt install libqt5multimedia5-plugins", после выполнения строчки "m_player = new QMediaPlayer(this);" начало исчезать окно программы: прога запускается, а окно не появляется. Если эту строчку закомментировать, окно восстанавливается. Что за хрень? И почему не хочет петь? Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: demal от Февраль 12, 2021, 21:16 В инструкции вот так должно быть: player = new QMediaPlayer;
Зачем this? Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: alexu007 от Февраль 12, 2021, 23:59 Не знаю, в интернете так увидел, не работал и с this и без this, это то я пробовал. Но в итоге всё-таки плеер заработал. И знаете как? Я в шоке! На одном из форумов посоветовали включить отладку (до этого я пробовал запустить только в релизе) и посмотреть, что выдаёт отладка (какие ошибки и т.п.). Отладка написала мне какую-то последовательность ничего не говорящих (мне) цифр, но программа ЗАПУСТИЛАСЬ! И после этого стала работать и в дебиге, и в релизе, и музыку играет. В мозгах компьютера что-то щёлкнуло? Или он отдохнул за ночь и обдумал своё поведение?
Ну ладно, как бы то ни было, а плеер заиграл. Дописать свой плейлист дело времени, а я хочу индикаторы уровня сигнала (ну как раньше в магнитофонах - правый/левый канал). И что-бы не рэндом показывали, а реальный уровень сигнала. Есть какие-нибудь соображения по этому поводу? Собсна само вычисление уровня сигнала в общих чертах понятно. Нужно взять цифры аудиосигнала за какое-то время, и подсчитать среднее арифметическое. Вопрос - где взять эти цифры? Можно заставить плеер не только отправлять их на звуковую карту, но и скидывать в какой-нибудь буфер? Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: alexu007 от Ноябрь 10, 2021, 11:35 Пришлось переустановить Линукс, проблема вернулась - мультимедиа установилась, прога (плеер) компилируется и запускается - но не работает, плей не включается, звука нет. Увы.
Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: tux от Ноябрь 10, 2021, 18:02 this нужен,чтобы у QMediaPlayer был хозяин. Который освободит память, занятую QMediaPlayer. Без этого будет утечка. Хотя и не заметная. Пока. ;)
Попробуйте запустить полученный файл из консоли. Возможно в неё увидите, что проигрывателю не нравится. А "последовательность ничего не говорящих (мне) цифр" лучше скопировать и выложить сюда. Будет больше информации. Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: alexu007 от Ноябрь 11, 2021, 12:01 Значит смотрите:
если установить "sudo apt install qtmultimedia5-dev", то программа компилируется, запускается, но музыка не играет. Плеер выдаёт сигнал с ошибкой 5: "Допустимая служба воспроизведения не найдена, воспроизведение не может продолжаться." если удалить "sudo apt remove qtmultimedia5-dev" и установить вместо него "sudo apt install libqt5multimedia5-plugins" - то программа перестаёт компилироваться, пишет что "Project ERROR: Unknown module(s) in QT: multimedia" - ну тут понятно без перевода. если установить обе эти библиотеки (в любой последовательности), то программа наглухо виснет при создании плеера в конструкторе - на строчке "m_player = new QMediaPlayer();" - даже окно не появляется. Вот тут в режиме отладки и вылетают этит загадочные цифры: Отладка запущена &“warning: GDB: Failed to set controlling terminal: \320\235\320\265\320\277\321\200\320\270\320\274\320\265\320\275\320\270\320\274\321\213\320\271 \320\272 \320\264\320\260\320\275\320\275\320\276\320\274\321\203 \321\203\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\321\203 ioctl\n” Но!!! В режиме отладки прога всё-таки непериодически запускается и работает нормально. Непериодически - это после нескольких попыток запустить и принудительно остановить приложение. К сожалению в этот раз чуда не произошло, и программа постоянно не заработала. Мои догадки: qtmultimedia5-dev не работает libqt5multimedia5 возможно и работала бы, но она не определяется компилятором и исполняемым файлом при установке обеих библиотек они конфликтуют между собой Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: kambala от Ноябрь 11, 2021, 12:17 https://wiki.qt.io/Qt_5.13_Multimedia_Backends
попробуй установить GStreamer и/или PulseAudio/Alsa (не разбираюсь в линуксах) Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: alexu007 от Ноябрь 11, 2021, 13:40 Пишет, что эти модули уже установлены самой последней версии.
Вот такое предупреждение при старте программы выдаёт, и что с этим делать, я не нашёл: Цитировать defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer" Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: tux от Ноябрь 12, 2021, 00:20 Было что-то похожее, относительно недавно.
Вы свою программу запускаете непосредственно из creator или из консоли? P.S. "Таинственные цифры" - это UTF-16, скорее всего. Настройте консоль корректно, сначала. Потом сможете прочитать по русски. Либо можно временно поставить латинскую консоль и читать по английски. Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: alexu007 от Ноябрь 12, 2021, 13:33 Спс. Уже решил проблему. Всё дело в нерабочих qtmultimedia5-dev и libqt5multimedia5, ну или какая-то одна кривая, или устанавливаются криво. Я установил линукс минт 20.1, установил Qt, обе эти библиотеки - и всё заработало. Но зато теперь не устанавливается vine - ни из репозитория, ни вручную. А ещё говорят, что виндовс это большой вирус. Я бы поспорил.
Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: tux от Ноябрь 12, 2021, 19:54 А ещё говорят, что виндовс это большой вирус. Я бы поспорил. Руки - это большие вирусы. Две штуки. :) Я к тому, что вы тащите виндовые привычки в линукс. Отсюда и проблемы.Почти уверен, что вы любите ставить программы помимо пакетного менеджера и удалять их вручную. Так... предположение. ;D Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: sergek от Ноябрь 12, 2021, 20:38 Интересно, а как можно устанавливать программы в Linux без использования пакетного менеджера?
Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: __Heaven__ от Ноябрь 13, 2021, 07:58 Интересно, а как можно устанавливать программы в Linux без использования пакетного менеджера? В home или opt можно с помощью инсталлера. Есть возможность и Qt так поставить. Коммерческий софт, игрушки кмк, часто имеют именно инсталлер. Но да, это не линукс вэй) Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: tux от Ноябрь 13, 2021, 15:25 Интересно, а как можно устанавливать программы в Linux без использования пакетного менеджера? Классически. Что-то типа Цитировать ./configure Другое дело, что лучше так не делать. Даже в gentoo. :) make make install Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: alexu007 от Декабрь 02, 2021, 13:09 Почти уверен, что вы любите ставить программы помимо пакетного менеджера и удалять их вручную. Так... предположение. ;D 1. Попробовал ставить из репозитория - приблизительно на середине процесса выскочила ошибка.2. Попробовал ставить по инструкциям из интернета из командной строки - ошибка. 3. Зарегился на форуме и задал там вопрос - мне скинули инструкции как сделать - я сделал и заработало. Ну хоть так, с третьей попытки. Название: Re: Мультимедиа в Qt5 линукс минт Отправлено: kambala от Декабрь 02, 2021, 13:56 3. так наверное надо их и сюда выложить? :)
|