Skip to main content
Skip table of contents

VMSPlayerController

Использует pusher-websocket-swift версии 10.0.1 с некоторыми исправлениями для целей VMSMobileSDK.

https://github.com/pusher/pusher-websocket-swift/tree/master

Инициализация

CODE
static func initialization(viewModel: VMSPlayerViewModel, delegate: VMSPlayerDelegate?) -> VMSPlayerController

VMSPlayerViewModel

CODE
init(
    camera: VMSCamera,
    groupCameras: [VMSCamera]?,
    user: VMSUser,
    translations: VMSPlayerTranslations,
    playerApi: VMSPlayerApi,
    options: VMSPlayerOptions
)

camera — камера, которую нужно открыть в плеере

groupCameras — если установить этот параметр, можно провести пальцем по плееру, чтобы изменить камеру, воспроизводимую в плеере

user — текущий пользователь

translations — словарь переводов, необходимых внутри плеера. Вы можете создать его на основе того, что вы получаете с сервера. Подробности см. в StaticApi

playerApi — объект VSMobileSDK или пользовательский объект, реализующий CameraApiPlayerApi и CameraEventsApi

options — пользовательские параметры, которые можно установить для плеера

VMSPlayerOptions

CODE
init(
    language: VMSLanguage?,
    allowVibration: Bool?,
    allowSoundOnStart: Bool?l,
    markTypes: [VMSEventType],
    videoRates: [VMSVideoRates]?
)

language — язык, по умолчанию: английский

allowVibration — установите значение no, если вы не хотите, чтобы устройство вибрировало при выборе некоторых настроек. По умолчанию: yes

allowSoundOnStart — указывает, разрешено ли проигрывателю включать звук, если в камере есть звук сразу после загрузки проигрывателя. По умолчанию true

markTypes — массив доступных типов меток. См. StaticsApi для получения дополнительной информации

videoRates — массив доступных скоростей воспроизведения видео у плеера. См. StaticsApi для получения дополнительной информации

VMSOpenPlayerOptions

Дополнительно вы можете установить параметры открытия, если вам нужно открыть плеер в определенных условиях.

CODE
init(
    event: VMSEvent?,
    archiveDate: Date?,
    showEventEdit: Bool,
    popNavigationAfterEventEdit: Bool,
    pushEventsListAfterEventEdit: Bool,
    openArchive: Bool
)

event — событие, которое нужно отобразить/редактировать в плеере. Параметру isEventArchive будет присвоено значение true автоматически

archiveDate — установите дату, если вам нужно открыть архив в определенную дату

showEventEdit — установите для этого параметра значение true, если вы хотите открыть экран редактирования событий. event также должно быть установлено

popNavigationAfterEventEdit — установите для этого параметра значение true, если вы хотите, чтобы плеер контроллер выскакивал после сохранения или отмены редактирования события

pushEventsListAfterEventEdit — установите для этого параметра значение true, если вы хотите отображать экран списка событий после сохранения или отмены редактирования события

openArchive — установите для этого параметра значение true, если вы хотите открыть архив в плеер контроллере

VMSPlayerDelegate

VMSPlayerController использует VMSPlayerDelegate

playerDidAppear() — вызывается, когда плеер загружается и появляется на экране

gotoEventsList(camera: VMSCamera) — вызывается при нажатии кнопки «Список событий»

soundChanged(isOn: Bool) — вызывается при нажатии кнопки «отключить/включить звук»

screenshotCreated(image: UIImage, cameraName: String, date: Date) — вызывается, когда снимок экрана сделан из текущего кадра

logPlayerEvent(event: String) — если вы хотите записывать активность пользователя, этот метод предоставляет названия действий для передачи в ваше приложение

playerDidReceiveError(message: String) — показать ошибку плеера

playerDidReceiveInfo(message: String) — показать информацию о плеере

dismissPlayerErrors() — если вы показываете представления ошибок, имеющие время действия, отклоните их

Обновление плеера

Плеер отвечает на эти имена уведомлений, чтобы обрабатывать их и соответствующим образом обновляться.

CODE
extension Notification.Name {
    static let noConnectionError
    static let updateUserPermissions
    static let updateUserCameras
    static let updateMarks
    static let updateMark
}

noConnectionError — опубликовать это уведомление в случае отсутствия соединения. Плеер прекратит воспроизведение

updateUserPermissions — в случае изменения прав пользователя необходимо обновить плеер

updateUserCameras — если вы получили сокет cameraUpdate и текущая камера была удалена из учетной записи пользователя, плеер будет закрыт должным образом. Это предпочтительный способ закрытия плеера

updateMarks — если вы получили сокет markCreated или markDeleted, используйте это уведомление для обновления плеера

updateMark — если вы получили сокет markUpdated, используйте это уведомление для обновления плеера

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.