![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Вообщем у меня аудиорекордер пишет в TmemoryStrem
естесьно забивается память компа и все виснет. Мне надо как то это дело сразу скидывать в файл. Тоолько как это организовать грамотно я даже не представляю. Может у кого пример есть? Или просто в двух словах опишете? |
|
#2
|
||||
|
||||
|
Попробуй использовать вместо TMemoryStream - TFileStream, а остальное оставить как было.
|
|
#3
|
|||
|
|||
|
Щас поэксперементиру.
|
|
#4
|
||||
|
||||
|
Если постоянно сбрасывать данные на хард через TFileStream, то прога будет тормозная (т.к. хард оч медленное устройство). Лучше писать данные в TMemoryStream, а при достижении им определенного размера (несколько мегов например), данные из TMemoryStream записывать на хард с помощью TFileStream :
Код:
var
f : TFileStream;
m : TMemoryStream;
..............................
f := TFileStream.Create('SomeFile', fmOpenWrite); // Сначала создаем и открываем файл в кот. будет производиться запись
..............................
f.CopyFrom(m, MemoryStreamSize); // Когда необходимо записываем данные в файл
..............................
f.Free; // Закрываем файл |
|
#5
|
|||
|
|||
|
Я сделал чтоб сбрасывалось сразу на хард, вроде работает нормально не глючит. Всем спасибо большое.
|
|
#6
|
||||
|
||||
|
А можно вопрос про запись?
Ты как записываешь звук? Можешь показать код? |