Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизtimeShifted ? т.е. проигрывание файла во время его записи... Найти похожие ветки
← →
titnn (2003-05-18 19:07) [0]может кто подскажет хотя-б где об этом почитать можно ?
в принципе нужно получить доступ на чтение к файлу , который в данный момент пишется ...
← →
Malder (2003-05-18 20:32) [1]А пишет и читает один процесс ?
P.S. Фигней какой-то страдаешь
← →
titnn (2003-05-18 21:00) [2]а почему это фигней ?
пишет моя прога (если точнее , то с карты спутникового ТВ пишется MPG2 в файл на диск) , а проигрывать нужно любой программой , кооторая играет MPG2 , ну тот же WinMediaPlayer , это не столь важно , проблема в том что файл пока пишется , к нему нет доступа .
← →
Malder (2003-05-18 21:06) [3]Ну пусть пишется частями. Накопил 1Mb информации (допустим), открыл файл, записал, закрыл. Плеер так же действует, открыл файл, прочитал в память, допустим, мегабайт, закрыл.
Главное, как будут программы относится к тому, что временно файл будет недоступен (если процессы записи/чтения пересекуться).
← →
titnn (2003-05-18 21:18) [4]не , ты неправильно понял , не частями ...
файл пишется себе без остановки , а его в это время можно смотреть , причем не обязательно с начала ..
попробуй из инета качать MP3 , и пока он только начал качаться его уже можно слушать ...
и с MPG2 тоже уже давно сделали , только не могу нигде найти как именно.
представь ситуевину , смотришь кино , вдруг по нужде приспичило , а рекламы нету , так что пропускаешь часть фильма .
А можно нажать паузу (в это время фильм пишется в файл) , а потом продолжить смотреть с того места , где остановил , хотя в эфире это уже давно прошло и ты смотришь уже из файла , но ничего об этом и не подозреваешь ...
← →
Malder (2003-05-18 21:50) [5]не , ты неправильно понял , не частями
это ты неправильно понял. Я не говорю как пишется, я говорю как НАДО сделать, чтобы писалось.
попробуй из инета качать MP3 , и пока он только начал качаться его уже можно слушать
Да ? А тебе не кажется, что это зависит от программы, которая качает ? Попробуй что-нибудь сделать с файлом, который качает flashget
← →
_Narayan_ (2003-05-18 22:39) [6]Раз пишет твоя прога, значит открывать для записи надо с "FILE_SHARE_READ", чтоб другие имели доступ на чтение
← →
Malder (2003-05-18 23:05) [7]А что за флаг FILE_SHARE_READ ? Ты где его взял... в MSDN что ли написано...
← →
_Narayan_ (2003-05-18 23:17) [8]2 Malder
Посмотри описание функции CreateFile
будет непонятно, обращайся ;-)
← →
titnn (2003-05-18 23:23) [9]
AVStream:=filecreate(RecFile);
if AVStream = -1 then exit;
FileClose(AVStream);
AVStream:=FileOpen(RecFile,fmOpenReadWrite or fmShareDenyNone);
пробовал вот так , все равно файл не доступен для чтения ...
← →
_Narayan_ (2003-05-18 23:27) [10]2 titnn
коли уж в NT попробуй не FileOpen , а OpenFile ... и иже с ними..
← →
titnn (2003-05-19 00:11) [11]
AVStream:=createFile(pchar(RecFile),GENERIC_ALL or MAXIMUM_ALLOWED or SPECIFIC_RIGHTS_ALL ,0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL , 0);
ну что же еще можно придумать ?
так тоже не получается ...
← →
_Narayan_ (2003-05-19 00:23) [12]2 titnn
Третий параметр - это атрибут режима распределения файла,
если 0 - то это предотвращяет совместное использование файла.
Советую вместо 0 задать FILE_SHARE_READ
(ещё есть FILE_SHARE_WRITE и FILE_SHARE_DELETE соответственно что бы другие могли писать в файл и удалять его)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c