Название: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: megido от Июнь 13, 2016, 21:19 (https://i.gyazo.com/f14a5f4e9be4620da4536193715a6ff7.gif)
(сейчас вот так, гифка немного замедлена) а вот так должно быть (https://i.gyazo.com/a5860d8ab5c2bee6104b4ae07de1a392.gif) но так даже лучше видно шлейфы рисую вот так Код: qreal widthLevel = m_level * height(); Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: Racheengel от Июнь 13, 2016, 21:24 монитор поменять можно.
я никаких шлейфов не вижу. Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: Old от Июнь 13, 2016, 21:31 монитор поменять можно. Тоже пока ничего не увидел.я никаких шлейфов не вижу. Да и ускорить в таком простом рисовании что-то не просто. Как вариант, можно не заливать черным весь виджет, а только верхнюю часть, а красным нижнюю. Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: megido от Июнь 13, 2016, 21:32 монитор поменять можно. не с монитором все ок, наверно надо подганять процентыя никаких шлейфов не вижу. Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: Old от Июнь 13, 2016, 21:34 монитор поменять можно. не с монитором все ок, наверно надо подганять процентыя никаких шлейфов не вижу. Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: megido от Июнь 13, 2016, 21:46 монитор поменять можно. не с монитором все ок, наверно надо подганять процентыя никаких шлейфов не вижу. а иначе там только на очень малый диапазон получается. вобще почему это в буфере такие маленькие значения уровня? Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: Old от Июнь 13, 2016, 21:54 Возможно там значения отскалены в диапазон [0..1]?
Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: megido от Июнь 13, 2016, 21:59 Возможно там значения отскалены в диапазон [0..1]? не знаю. что это?вот код какой выдает уровни Код: qreal getPeakValue(const QAudioFormat& format) может дело в рекордере какой я криво настроил? что-то там не устанавливаются настройки Код: QAudioEncoderSettings settings; Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: Old от Июнь 13, 2016, 22:07 не знаю. что это? Попробуйте widthLevel вычислять по формуле:widthLevel = height() * val; где val - это значение из QAudioBuffer. Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: megido от Июнь 13, 2016, 22:09 не знаю. что это? Попробуйте widthLevel вычислять по формуле:widthLevel = height() * val; где val - это значение из QAudioBuffer. потому 180*0.0557878 выходит мало Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: Old от Июнь 13, 2016, 22:15 сейчас именно так и есть Возможно уровень сигнала очень низкий. Так а после умножения на 10, что не устраивает?потому 180*0.0557878 выходит мало Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: megido от Июнь 13, 2016, 22:20 сейчас именно так и есть Возможно уровень сигнала очень низкий. Так а после умножения на 10, что не устраивает?потому 180*0.0557878 выходит мало Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: Old от Июнь 13, 2016, 22:24 ну так может этому виной кривой файл? глянь там кодек pcm а должен быть другой(я разные ставил) ну и другие параметры я тоже настраивал и они не изменились. вобще что-то рекордер на настройки не реагирует Так а файл играется нормально?Я бы попробовал другие файлы поиграть, посмотреть поток. Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: megido от Июнь 13, 2016, 22:32 ну так может этому виной кривой файл? глянь там кодек pcm а должен быть другой(я разные ставил) ну и другие параметры я тоже настраивал и они не изменились. вобще что-то рекордер на настройки не реагирует Так а файл играется нормально?Я бы попробовал другие файлы поиграть, посмотреть поток. Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: megido от Июнь 13, 2016, 22:36 ха я кажись понял в чем дело. наверно рекордер пишет не мой стрим а запись с микрофона :D.
потому там pcm 16bit и низкая громкость Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: kuzulis от Июнь 14, 2016, 08:58 Если это под Windows, то там вроде как баг.. типа текущие уровни пересчитываются через логарифм, а должны быть просто линейными:
https://codereview.qt-project.org/#/c/161717/ (я пост не читал, в тему не вникал.. пишу наобум :) ) UPD: Упс, это кажется другая проблема. Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: megido от Июнь 22, 2016, 22:53 дописал прогу, осталось сделать эти уровни красивыми.
вот как они сейчас отрисовываются. (https://i.gyazo.com/bd0e06b1751c395145d417662d73aefa.gif) чем можно еще нарисовать подобное? я пробовал QPropertyAnimation, кажется оно мне тут не поможет. еще есть QVariantAnimation , но я не понял как его прицепить к лайоуту или виджету Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: Igors от Июнь 23, 2016, 10:25 дописал прогу, осталось сделать эти уровни красивыми. А что не так, не нравится? Какая "красивость" нужна?чем можно еще нарисовать подобное? Название: Re: чем можно порисовать еще кроме QPainter? или как его заставить рисовать шустрее Отправлено: Bepec от Июнь 23, 2016, 13:43 Ему нужна плавность перехода скорее всего. Но это уже проблема компонента.
Т.е. при установке значения нужно не сразу бросаться отрисовывать текущий уровень, а плавненько его доводить до нужного. Соотвествтенно нужно учитывать разницу между текущим и устанавливаемым, менять значение постепенно. |