Текущий архив: 2009.11.08;
Скачать: CL | DM;
Вниз
Перехват инфы из консольки Найти похожие ветки
← →
MTsv DN (2008-04-07 21:53) [0]Всем привет...
Вопрос скорей всего надо было в раздел API написать, просто семпл на KOL...да и эта ветка роднее как-то ;)
Вот проект wav2flac: http://ifolder.ru/6060462
Загвоздка в следующем. Не могу во время конвертации считывать инфу из StdOut консольки flac.exe. Вот заканчивается конвертация и весь StdOut доступен, а во время работы нет... Проект простой, от Вас требуется только добавить WAV-файл (44.1kHz х 16bits х 2ch. Лучше больше 30 сек, чтобы StdOut несколько раз обновлялся)...
Помогите, у кого есть какие идеи... Как считывать StdOut во время работы консольки?..
Спасибо...
← →
Дмитрий К © (2008-04-07 22:52) [1]wav2flac в отдельном потоке
← →
mdw © (2008-04-07 23:13) [2]Хорошая реализация есть в JVCL (Пример: при установке ловится то что компилятор выдает и преобразуется в аналог окна компиляции делфи). Могу кинуть пример оболочки для делфиского компилятора (я так новые версии KOL+все библиотеки собираю), оно на кол написано. Если нужно свистни завтра в аску после 11, раньше не буду на работе (детеныш заболел, с утра занимаюсь обеспечением лекарствами и другими необходимыми вещами;) ).
← →
mdw © (2008-04-07 23:30) [3]Кстати, могу ошибаться, но на вскидку для BASS вроде есть поддержка flac, и там же есть и запись в wav, а по качеству BASS очень даже (по крайней мере лучше пресловутого винампа)... Посмотри, может подойдет? Я с полгода назад под КОЛ даже оболочку наваял, по мелочам не доделал слегка правда (типа поддержка плагинов винампа). Если нужно кину.
← →
mdw © (2008-04-07 23:32) [4]Упс. Не догнал сперва, тебе же наоборот в flac нужно. Предыдущий пост отменяется.
← →
MTsv DN (2008-04-08 09:03) [5]> wav2flac в отдельном потоке
Нет в одном. Просто Гугл мне пример нашел на С, а я его перегнал в паскаль... Кстати, проект я приложил, можно было и посмотреть. Весит он всего 99 кило (вместе с flac.exe)
← →
MTsv DN (2008-04-08 09:15) [6]> wav2flac в отдельном потоке
Разнес в 2 потока. 1ый - CreateProcess; 2ой - считывание из StdOut. Разницы нет. Сначала происходит конвертация, потом заполняется Memo. Могу выложить и этот вариант...
← →
Дмитрий К © (2008-04-08 09:38) [7]А если считывать по 1 символу?
← →
MTsv DN (2008-04-08 10:05) [8]> А если считывать по 1 символу?
А разница-то по 1024 или по 1??? Смысл в том, что пока процесс конвертации не закончится:PeekNamedPipe(read_stdout, @buf[0], SizeOf(buf), @bread, @avail, nil);
//Проверяем, есть ли данные для чтения в stdout
if bread <> 0 then
bread - равен 0. И только потом я получаю доступ к StdOut.
P.S. Попробовал и по 1 байту. Без разницы.
← →
MTsv DN (2008-04-08 10:12) [9]Я та понимаю, что у меня каких-то прав не хватает... Но вот каких?
← →
Дмитрий К © (2008-04-08 13:51) [10]Возможное решение:
http://www.codeproject.com/KB/threads/RTconsole.aspx
Страницы: 1 вся ветка
Текущий архив: 2009.11.08;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.005 c