Для использования функций TimeShift необходимо:
SetTimeShiftFolder
. Этот пункт является необходимым для запуска таймшифт.Достаточно это сделать один раз после старта.
SetTimeShiftDurationMax
. Значение по умолчанию 7200 секунд.extTimeShift
.
Все действия с таймшифтом осуществляются через глобальный объект TimeShift
Команда Stop или запуск другого контента на воспроизведение автоматически освобождает буфер таймшифта.
При воспроизведении с помощью солюшена extTimeShift
может приходить событие с кодом 0x24
. При этом в функцию stbEvent.onEvent
передается два параметра: код события и дополнительная строка json следующего вида:
{"event_code":1,"ident":"TimeShift","event_data":""}
В данном случае event_code
может принимать следующие значения:
event_code | Описание |
---|---|
1 | запуск воспроизведения |
2 | остановка воспроизведения |
3 | SetSlidingMode(1) , когда воспроизведение находилось в режиме таймшифта на паузе и текущая позиция отличается от реалтайм позиции более чем на длительность максимального буфера таймшифта. Если в режиме паузы и пришло событие 3, то необходимо послать Continue |
4 | При заполнении буфера таймшифта. После прихода этого события в режиме SetSlidingMode(0) новые данные теряются и навигация возможна только в буфере либо переход в режим реалтайтма (сохранение с докачкой невозможно). Приход события 4 при SetSlidingMode(1) означает что буфер таймшифта заполнился и начали теряться наиболее старые данные контента |
5 | Приходит за 1 минуту до того как заполниться буфер таймшифта (за минуту до события 4 ) |
6 | Приходит в процессе воспроизведения если носитель недоступен (event_data=1) либо на носителе недостаточно места (event_data=2) . После прихода этого события воспроизведение автоматически переходит в реалтайм |
void SetTimeShiftFolder(string folderPath)
Устанавливает рабочую директорию для модуля TimeShift
. В этой директории будут храниться рабочие и вспомогательные файлы.
Параметры:
Параметры | Допустимые значения | Описание |
---|---|---|
folderPath | Путь для размещения файлов таймшифта |
Возвращаемое значение:
Нет.
void SetMaxDuration (int duration)
Устанавливает максимальную длительность буфера таймшифта.
Параметры:
Параметры | Допустимые значения | Описание |
---|---|---|
duration | Максимальная длительность в секундах |
Возвращаемое значение:
Нет.
void EnterTimeShift()
Переключиться в режим таймшифта. При этом станут доступны команды паузы и позиционирования по текущему буферу.
Параметры: Нет.
Возвращаемое значение:
Параметры | Допустимые значения | Описание |
---|---|---|
error | int | 0 – операция завершена успешно Иначе – ошибка. |
Замечание:
Работает, только если воспроизведение запущено с солюшеном extTimeShift
.
void ExitTimeShift()
Выйти из режима таймшифта и переключиться в режим реалтайм. При этом буфер таймшифта не сохраняется.
Параметры:
Нет.
Возвращаемое значение:
Параметры | Допустимые значения | Описание |
---|---|---|
error | int | 0 – операция завершена успешно Иначе – ошибка. |
Замечание:
Работает, только если воспроизведение запущено с солюшеном extTimeShift.
void ExitTimeShiftAndSave(string name)
Выйти из режима таймшифта и переключиться в режим реалтайм. При этом текущий буфер таймшифта сохранится как задача PVR в файле со специальным расширением.
Параметры:
Параметры | Допустимые значения | Описание |
---|---|---|
name | Имя поддиректории, в которой будут сохранены все данные текущего таймшифта |
Возвращаемое значение:
Параметры | Допустимые значения | Описание |
---|---|---|
error | int | 0 – операция завершена успешно Иначе – ошибка. |
void ExitTimeShiftAndSaveDuration(string name, int duration)
Выйти из режима таймшифта и остановить воспроизведение. При этом текущий буфер таймшифта сохранится как задача PVR в файле со специальным расширением. Если задан параметр duration
, то в дополнение в этой же задаче PVR в течении duration
секунд будет сохраняться текущий поток.
Параметры:
Параметры | Допустимые значения | Описание |
---|---|---|
name | Имя поддиректории, в которой будут сохранены все данные текущего таймшифта. | |
duration | >= 0 | Время в секундах, в течении которого ещё необходимо сохранять поток. |
Возвращаемое значение:
Параметры | Допустимые значения | Описание |
---|---|---|
error | int | 0 – операция завершена успешно Иначе – ошибка. |
void SetSlidingMode(bool OnOff);
Параметры:
Параметры | Допустимые значения | Описание |
---|---|---|
On/off | Если устанавливаем «TRUE», то буффер таймшифта по достижении своего придела начинает терять наиболее старые данные. Если устанавливаем «FALSE», то буффер таймшифта по достижении своего придела начинает терять наиболее новые данные |
Возвращаемое значение:
нет