Просмотр сообщений
|
Страниц: [1] 2 3
|
1
|
Qt / Общие вопросы / Re: QProcess и консольное приложение
|
: Апрель 25, 2018, 20:58
|
C++ (Qt) int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); QProcess process; QStringList strList; strList << "D:/track01.wav" << "D:/track02.wav" << "D:/result03.wav"; process.start("D:/FolderSox/sox_14_4_2/sox.exe", strList); if(!process.waitForStarted()) { return 1; } if(!process.waitForFinished()) { return 2; } return 0; } Alex Custov спасибо большое. Это отлично работает. Мне жаль что вам пришлось прописывать весь код. Благодарю за терпение.
|
|
|
2
|
Qt / Общие вопросы / Re: QProcess и консольное приложение
|
: Апрель 23, 2018, 21:31
|
А где твои wav файлы находятся? Попробуй указать полные пути до них.
C++ (Qt) QString strWrite = "D://FolderSox//sox_14_4_2//track01.wav D://FolderSox//sox_14_4_2//track02.wav D://FolderSox//sox_14_4_2//Sometrack03.wav"; // Такой вариант не срабатывает
|
|
|
3
|
Qt / Общие вопросы / Re: QProcess и консольное приложение
|
: Апрель 22, 2018, 08:18
|
C++ (Qt) #include <QMainWindow> #include <QApplication> #include <QProcess> #include <qDebug> // https://sourceforge.net/projects/sox/ - ссылка где скачал Sox - Sound eXchange int main(int argc, char *argv[]) { QApplication a(argc, argv); QMainWindow w; QProcess process; QStringList strList; process.start("D://FolderSox//sox-14-4-2//sox", strList); process.waitForReadyRead(-1); QString strWrite = "track01.wav track02.wav Sometrack03.wav"; process.write(strWrite.toLatin1()); process.waitForBytesWritten(); process.waitForReadyRead(); qDebug() << "Text " << process.readAll() <<endl; // QProcess process; // Так тоже не работает // QStringList strList; // strList << "track01.wav"; // strList << "track02.wav"; // strList << "Sometrack03.wav"; // process.start("D://FolderSox//sox-14-4-2//sox.exe", strList); // qDebug() << "Text2 " << process.exitCode() <<endl; w.show(); return a.exec(); }
Помогите пожалуйста. Через консоль пробовал все работает.
|
|
|
4
|
Qt / Общие вопросы / Re: QProcess и консольное приложение
|
: Апрель 18, 2018, 18:58
|
C++ (Qt) strListKey << "track01.wav" << "track02.wav" << "result.wav";
Так тоже не работает. Пытался сделать как ниже. Выдает ошибку. C++ (Qt) void MainWindow::on_pushButton_clicked() { QProcess process; QStringList strList; process.start("D://Programing//Sox//sox.exe", strList); process.waitForReadyRead(-1); QString strWrite = "track01.wav track02.wav Sometrack03.wav\n"; process.write(strWrite.toLatin1()); process.waitForBytesWritten(); process.waitForReadyRead(); qDebug() << "Text " << process.readAll() <<endl; }
Ошибка в консоли: QWindowsPipeWriter::write failed. (Идет закрытие канала.) Text "D:\\\\Programing\\\\Sox\\\\sox.exe: SoX v14.4.2\r\n\r\nUsage summary: [gopts] [[fopts] infile]... [fopts] outfile [effect [effopt]]...\r\n\r\nSPECIAL FILENAMES (infile, outfile):\r\n- Pipe/redirect input/output (stdin/stdout); may need -t\r\n-d, --default-device Use the default audio device (where available)\r\n-n, --null Use the `null' file handler; e.g. with synth effect\r\n-p, --sox-pipe Alias for `-t sox -'\r\n\r\nSPECIAL FILENAMES (infile only):\r\n\"|program [options] ...\" Pipe input from external program (where supported)\r\nhttp://server/file Use the given URL as input file (where supported)\r\n\r\nGLOBAL OPTIONS (gopts) (can be specified at any point before the first effect):\r\n--buffer BYTES Set the size of all processing buffers (default 8192)\r\n--clobber Don't prompt to overwrite output file (default)\r\n--combine concatenate Concatenate all input files (default for sox, rec)\r\n--combine sequence Sequence all input files (default for play)\r\n-D, --no-dither Don't dither automatically\r\n--dft-min NUM Minimum size (log2) for DFT processing (default 10)\r\n--effects-file FILENAME File containing effects and options\r\n-G, --guard Use temporary files to guard against clipping\r\n-h, --help Display version number and usage information\r\n--help-effect NAME Show usage of effect NAME, or NAME=all for all\r\n--help-format NAME Show info on format NAME, or NAME=all for all\r\n--i, --info Behave as soxi(1)\r\n--input-buffer BYTES Override the input buffer size (default: as --buffer)\r\n--no-clobber Prompt to overwrite output file\r\n-m, --combine mix Mix multiple input files (instead of concatenating)\r\n--combine mix-power Mix to equal power (instead of concatenating)\r\n-M, --combine merge Merge multiple input files (instead of concatenating)\r\n--multi-threaded Enable parallel effects channels processing\r\n--norm Guard (see --guard) & normalise\r\n--play-rate-arg ARG Default `rate' argument for auto-resample with `play'\r\n--plot gnuplot|octave Generate script to plot response of filter effect\r\n-q, --no-show-progress Run in quiet mode; opposite of -S\r\n--replay-gain track|album|off Default: off (sox, rec), track (play)\r\n-R Use default random numbers (same on each run of SoX)\r\n-S, --show-progress Display progress while processing audio data\r\n--single-threaded Disable parallel effects channels processing\r\n--temp DIRECTORY Specify the directory to use for temporary files\r\n-T, --combine multiply Multiply samples of corresponding channels from all\r\n input files (instead of concatenating)\r\n--version Display version number of SoX and exit\r\n-V[LEVEL] Increment or set verbosity level (default 2); levels:\r\n 1: failure messages\r\n 2: warnings\r\n 3: details of processing\r\n 4-6: increasing levels of debug messages\r\nFORMAT OPTIONS (fopts):\r\nInput file format options need only be supplied for files that are headerless.\r\nOutput files will have the same format as the input file where possible and not\r\noverridden by any of various means including providing output format options.\r\n\r\n-v|--volume FACTOR Input file volume adjustment factor (real number)\r\n--ignore-length Ignore input file length given in header; read to EOF\r\n-t|--type FILETYPE File type of audio\r\n-e|--encoding ENCODING Set encoding (ENCODING may be one of signed-integer,\r\n unsigned-integer, floating-point, mu-law, a-law,\r\n ima-adpcm, ms-adpcm, gsm-full-rate)\r\n-b|--bits BITS Encoded sample size in bits\r\n-N|--reverse-nibbles Encoded nibble-order\r\n-X|--reverse-bits Encoded bit-order\r\n--endian little|big|swap Encoded byte-order; swap means opposite to default\r\n-L/-B/-x Short options for the above\r\n-c|--channels CHANNELS Number of channels of audio data; e.g. 2 = stereo\r\n-r|--rate RATE Sample rate of audio\r\n-C|--compression FACTOR Compression factor for output format\r\n--add-comment TEXT Append output file comment\r\n--comment TEXT Specify comment text for the output file\r\n--comment-file FILENAME File containing comment text for the output file\r\n--no-glob Don't `glob' wildcard match the following filename\r\n\r\nAUDIO FILE FORMATS: 8svx aif aifc aiff aiffc al amb amr-nb amr-wb anb au avr awb cdda cdr cvs cvsd cvu dat dvms f32 f4 f64 f8 flac fssd gsm gsrt hcom htk ima ircam la lpc lpc10 lu maud mp2 mp3 nist ogg prc raw s1 s16 s2 s24 s3 s32 s4 s8 sb sf sl sln smp snd sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 u32 u4 u8 ub ul uw vms voc vorbis vox wav wavpcm wv wve xa\r\nPLAYLIST FORMATS: m3u pls\r\nAUDIO DEVICE DRIVERS: waveaudio\r\n\r\nEFFECTS: allpass band bandpass bandreject bass bend biquad chorus channels compand contrast dcshift deemph delay dither divide+ downsample earwax echo echos equalizer fade fir firfit+ flanger gain highpass hilbert input# ladspa loudness lowpass mcompand noiseprof noisered norm oops output# overdrive pad phaser pitch rate remix repeat reverb reverse riaa silence sinc spectrogram speed splice stat stats stretch swap synth tempo treble tremolo trim upsample vad vol\r\n * Deprecated effect + Experimental effect # LibSoX-only effect\r\nEFFECT OPTIONS (effopts): effect dependent; see --help-effect\r\n" Помогите кто-то. Так и не могу понять. Через консоль все работает, а через QProcess не работает.
|
|
|
6
|
Qt / Общие вопросы / QProcess и консольное приложение
|
: Март 18, 2018, 15:39
|
Может кто-то помочь? Почему не работает? Консольная программа (sox) должна объединить два трека, через cmd вручную проверял - работает, однако написанный код не работает. C++ (Qt) void MainWindow::on_pushButton_begin_clicked() { QProcess process; QStringList strListKey; strListKey << "track01.wav track02.wav result.wav"; process.start(QDir::currentPath() + "/SoX-Sound_eXchange/sox.exe", strListKey); process.waitForFinished(-1); }
|
|
|
7
|
Qt / Вопросы новичков / Редактирование звука
|
: Февраль 21, 2018, 23:34
|
Я хочу написать программу, которая будет обрезать звуковые дорожки и объединять кусочки в один трек. Работа будет происходить с форматом wav. Вначале загружается два трека 1 и 2. После, из первого вырезаются небольшие отрезки, и из второго тоже. Потом их нужно будет соединить, то есть создать новый трек. В программе будет вписано как обрезать треки ( например: 1-Трек 0:12-0:15, 0:17-0:19 ..., 2-Трек 0:12-0:14, 0:30-0:37 ...). Подскажите пожалуйста какие классы нужно использовать чтобы можно было: 1. Открыть трек и обрезать его на отрезки. 2. Создание нового трека из полученных отрезков, и в последствии сохранение его в формате (.wav)
|
|
|
8
|
Qt / Вопросы новичков / оператор if() без скобок
|
: Ноябрь 06, 2017, 01:35
|
C++ (Qt) if(str == "") Item->document()->setDefaultFont(cursor.charFormat().font());
Я так понимаю строка всегда будет выполняться? Почему? Я всегда понимал что, следующая строка, после оператора без скобок, будет выполняться согласно условию. И строка в смысле, все то что написано до ; Если, например, после оператора будет 2 строки, то 1 выполняется согласно условию, а 2 выполняется всегда. Разве не так?
|
|
|
9
|
Qt / Вопросы новичков / Re: Цвет отдельных слов в ComboBox
|
: Ноябрь 04, 2017, 19:55
|
Вроде код уже сделан. Осталось сделать текст в виде HTML. Однако с этим проблема. Выделение желтым уже происходит, но края закруглить не могу, и вообще рамка не отрисовывается. C++ (Qt) QString str = "Текст <span style=background: yellow; border: 1.3px solid gray; padding: 1px; border-radius: 5px>" "поиск</span>а в котором нужно выделить слово <span style=background:yellow; " "border: 1.3px solid gray;padding: 1px; border-radius: 5px>поиск</span>";
Насколько я почитал, это Qt не распознает теги? Или все-таки можно сделать границы выделения и закруглить их? Такой код правильно работает в браузере, именно как мне нужно. HTML <span style="background:yellow; border: 1.3px solid gray; padding: 1px; border-radius: 5px"> ... </span>
|
|
|
10
|
Qt / Вопросы новичков / Re: Цвет отдельных слов в ComboBox
|
: Октябрь 16, 2017, 20:33
|
C++ (Qt) ui->comboBox_question->setItemData(i,QBrush(Qt::green),Qt::BackgroundRole);
Эта строка кода устанавливает только зеленый фон. А мне нужно выделить не всю строку, а только под одним словом. Выделить только конкретное слово. Как этого можно добиться?
|
|
|
11
|
Qt / Вопросы новичков / Цвет отдельных слов в ComboBox
|
: Октябрь 16, 2017, 00:12
|
Есть текст. Производится поиск. После, все строки в которых был найден запрос поиска, помещаются в ComboBox. Вопрос как выделить искаемое слово другим цветом в ComboBox? Я хотел бы выделить желтым цветом background.
|
|
|
12
|
Qt / Вопросы новичков / переустановить Qt ?
|
: Сентябрь 13, 2017, 12:39
|
Подскажите что мне сделать? У меня на компьютере (PC) был установлен Qt4.8.6 и Qt5.6.2. После того я купил себе ноут, и не захотел скачивать Qt c интернета, а просто перекинул установленный Qt через флешку. Думал совпадение 64-битности и 7-виндовс достаточно. И все работало. Потом я все-таки решил удалить Qt, и установить его правильно, скачав с интернета установочник. И сейчас как-бы все работает, кроме нескольких вещей. Я не могу запустить примеры Qt по opengl. Например Examples\Qt-5.6\opengl\textures - сразу разрушается. Другие примеры нормально работают, примеры по opengl не работают. Однако на компе пример Examples\Qt-5.6\opengl\textures без проблем запускается.
Возможно какие-то пути не прописаны, или что-то другое, я не знаю. Как-бы это примеры от Qt они должны без проблем запускаться, я в них ничего не менял.
|
|
|
13
|
Qt / 2D и 3D графика / Re: цвет текстового курсора "|" в QGraphicsTextItem
|
: Сентябрь 03, 2017, 23:37
|
ИМХО Один из вариантов ответа: C++ (Qt) QGraphicsTextItem *item = sameTextItem; // вот этот вариант меняет цвет текста но не меняет цвет курсора. QTextCursor cursor = item->textCursor(); QTextCharFormat foregroundFormat; foregroundFormat.setForeground(QBrush(color)); cursor.mergeCharFormat(foregroundFormat); item->setTextCursor(cursor); // этот вариант меняет цвет текста и цвет курсора, однако вместе с этим весь имеющийся текст изменится на этот цвет. item->setDefaultTextColor(color);
|
|
|
14
|
Qt / 2D и 3D графика / цвет текстового курсора "|" в QGraphicsTextItem
|
: Сентябрь 02, 2017, 22:58
|
Как изменить цвет текстового курсора "|" в QGraphicsTextItem. По умолчанию он черный. И если я делаю в сцене черный фон, курсор не видно. Я не могу использовать другой фон, нужен именно черный. Текст конечно же используется белый, однако мигающий курсор остается черным. Подскажите, как добиться, например, белого текстового курсора?
|
|
|
|
|