-
Всем привет... Вопрос скорей всего надо было в раздел API написать, просто семпл на KOL...да и эта ветка роднее как-то ;) Вот проект wav2flac: http://ifolder.ru/6060462Загвоздка в следующем. Не могу во время конвертации считывать инфу из StdOut консольки flac.exe. Вот заканчивается конвертация и весь StdOut доступен, а во время работы нет... Проект простой, от Вас требуется только добавить WAV-файл (44.1kHz х 16bits х 2ch. Лучше больше 30 сек, чтобы StdOut несколько раз обновлялся)... Помогите, у кого есть какие идеи... Как считывать StdOut во время работы консольки?.. Спасибо...
-
wav2flac в отдельном потоке
-
Хорошая реализация есть в JVCL (Пример: при установке ловится то что компилятор выдает и преобразуется в аналог окна компиляции делфи). Могу кинуть пример оболочки для делфиского компилятора (я так новые версии KOL+все библиотеки собираю), оно на кол написано. Если нужно свистни завтра в аску после 11, раньше не буду на работе (детеныш заболел, с утра занимаюсь обеспечением лекарствами и другими необходимыми вещами;) ).
-
Кстати, могу ошибаться, но на вскидку для BASS вроде есть поддержка flac, и там же есть и запись в wav, а по качеству BASS очень даже (по крайней мере лучше пресловутого винампа)... Посмотри, может подойдет? Я с полгода назад под КОЛ даже оболочку наваял, по мелочам не доделал слегка правда (типа поддержка плагинов винампа). Если нужно кину.
-
Упс. Не догнал сперва, тебе же наоборот в flac нужно. Предыдущий пост отменяется.
-
> wav2flac в отдельном потоке Нет в одном. Просто Гугл мне пример нашел на С, а я его перегнал в паскаль... Кстати, проект я приложил, можно было и посмотреть. Весит он всего 99 кило (вместе с flac.exe)
-
> wav2flac в отдельном потоке Разнес в 2 потока. 1ый - CreateProcess; 2ой - считывание из StdOut. Разницы нет. Сначала происходит конвертация, потом заполняется Memo. Могу выложить и этот вариант...
-
А если считывать по 1 символу?
-
> А если считывать по 1 символу?А разница-то по 1024 или по 1??? Смысл в том, что пока процесс конвертации не закончится: PeekNamedPipe(read_stdout, @buf[0], SizeOf(buf), @bread, @avail, nil);
if bread <> 0 then
bread - равен 0. И только потом я получаю доступ к StdOut. P.S. Попробовал и по 1 байту. Без разницы.
-
Я та понимаю, что у меня каких-то прав не хватает... Но вот каких?
-
|