Class VideoPlayer
VideoPlayer — класс playback видео. EasyAR поддерживает обычное видео, прозрачное видео и streaming playback. Видео будет отрендерено в texture, переданную в setRenderTexture. Этот класс поддерживает только texture OpenGLES 3.0. Поскольку он зависит от OpenGLES, все функции этого класса (включая destructor) должны вызываться в одном thread, содержащем контекст OpenGLES. Текущая версия требует, чтобы ширина и высота были кратны 16. Поддерживаемые форматы видеофайлов Windows: форматы, совместимые с Media Foundation. Установка дополнительных декодеров может добавить поддержку большего числа форматов. См. Supported Media Formats in Media Foundation . DirectShow не поддерживается. Mac: не поддерживается. Android: форматы, поддерживаемые системой. См. Supported media formats . iOS: форматы, поддерживаемые системой. В настоящее время нет действующего справочного документа.
VideoPlayer
Конструкторы
VideoPlayer
void easyar_VideoPlayer__ctor(easyar_VideoPlayer * * Return)
+ (easyar_VideoPlayer *) create
public convenience init()
Методы
isAvailable
Проверяет доступность. Возвращает true только на Windows, Android и iOS; на Mac недоступен.
bool easyar_VideoPlayer_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
public static func isAvailable() -> Bool
public static bool isAvailable()
Возвращаемое значение
setVideoType
Устанавливает тип видео. Если не задан вручную, по умолчанию используется обычный тип. Этот метод нужно вызвать перед open.
void easyar_VideoPlayer_setVideoType(easyar_VideoPlayer * This, easyar_VideoType videoType)
void setVideoType(VideoType videoType)
public void setVideoType(int videoType)
fun setVideoType(videoType: Int): Unit
- (void)setVideoType:(easyar_VideoType)videoType
public func setVideoType(_ videoType: VideoType) -> Void
public virtual void setVideoType(VideoType videoType)
Параметры
Возвращаемое значение
setRenderTexture
Передает в player texture, используемую для отображения видео. Этот метод нужно вызвать перед open.
void easyar_VideoPlayer_setRenderTexture(easyar_VideoPlayer * This, easyar_TextureId * texture)
void setRenderTexture(std::shared_ptr<TextureId> texture)
public void setRenderTexture(@Nonnull TextureId texture)
fun setRenderTexture(texture: TextureId): Unit
- (void)setRenderTexture:(easyar_TextureId *)texture
public func setRenderTexture(_ texture: TextureId) -> Void
public virtual void setRenderTexture(TextureId texture)
Параметры
Возвращаемое значение
open
Открывает видео из path. path может быть локальным видеофайлом (path/to/video.mp4) или url (http://www.../.../video.mp4). storageType указывает тип path. Подробности см. в StorageType. Этот метод является asynchronous. open может занять некоторое время. Если нужно узнать результат открытия видео или состояние playback, нужно обработать данные callback. callback будет вызван в thread, соответствующем callbackScheduler. В callback можно проверить, успешно ли завершилось открытие, и начать playback после успешного открытия.
void easyar_VideoPlayer_open(easyar_VideoPlayer * This, easyar_String * path, easyar_StorageType storageType, easyar_CallbackScheduler * callbackScheduler, easyar_OptionalOfFunctorOfVoidFromVideoStatus callback)
void open(std::string path, StorageType storageType, std::shared_ptr<CallbackScheduler> callbackScheduler, std::optional<std::function<void(VideoStatus)>> callback)
public void open(java.lang.@Nonnull String path, int storageType, @Nonnull CallbackScheduler callbackScheduler, @Nullable FunctorOfVoidFromVideoStatus callback)
fun open(path: String, storageType: Int, callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromVideoStatus?): Unit
- (void)open:(NSString *)path storageType:(easyar_StorageType)storageType callbackScheduler:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_VideoStatus status))callback
public func `open`(_ path: String, _ storageType: StorageType, _ callbackScheduler: CallbackScheduler, _ callback: ((VideoStatus) -> Void)?) -> Void
public virtual void open(string path, StorageType storageType, CallbackScheduler callbackScheduler, Optional<Action<VideoStatus>> callback)
Параметры
Возвращаемое значение
close
void easyar_VideoPlayer_close(easyar_VideoPlayer * This)
public func close() -> Void
public virtual void close()
Возвращаемое значение
play
Начинает или продолжает playback видео.
bool easyar_VideoPlayer_play(easyar_VideoPlayer * This)
public func play() -> Bool
public virtual bool play()
Возвращаемое значение
stop
Останавливает playback видео.
void easyar_VideoPlayer_stop(easyar_VideoPlayer * This)
public func stop() -> Void
public virtual void stop()
Возвращаемое значение
pause
Приостанавливает playback видео.
void easyar_VideoPlayer_pause(easyar_VideoPlayer * This)
public func pause() -> Void
public virtual void pause()
Возвращаемое значение
isRenderTextureAvailable
Можно ли использовать video texture для рендеринга. Можно использовать, чтобы проверить, была ли texture, переданная в player, затронута.
bool easyar_VideoPlayer_isRenderTextureAvailable(easyar_VideoPlayer * This)
bool isRenderTextureAvailable()
public boolean isRenderTextureAvailable()
fun isRenderTextureAvailable(): Boolean
- (bool)isRenderTextureAvailable
public func isRenderTextureAvailable() -> Bool
public virtual bool isRenderTextureAvailable()
Возвращаемое значение
updateFrame
Обновляет данные texture. Этот метод нужно вызывать в rendering thread, когда isRenderTextureAvailable возвращает true.
void easyar_VideoPlayer_updateFrame(easyar_VideoPlayer * This)
public void updateFrame()
public func updateFrame() -> Void
public virtual void updateFrame()
Возвращаемое значение
duration
Возвращает длину видео. Использовать после успешного open.
int easyar_VideoPlayer_duration(easyar_VideoPlayer * This)
public func duration() -> Int32
public virtual int duration()
Возвращаемое значение
currentPosition
Возвращает текущую позицию playback видео. Использовать после успешного open.
int easyar_VideoPlayer_currentPosition(easyar_VideoPlayer * This)
public int currentPosition()
fun currentPosition(): Int
public func currentPosition() -> Int32
public virtual int currentPosition()
Возвращаемое значение
seek
Перемещает позицию playback в position. Использовать после успешного open.
bool easyar_VideoPlayer_seek(easyar_VideoPlayer * This, int position)
public boolean seek(int position)
fun seek(position: Int): Boolean
- (bool)seek:(int)position
public func seek(_ position: Int32) -> Bool
public virtual bool seek(int position)
Параметры
| Имя |
Тип |
Описание |
| position |
Int32 |
|
Возвращаемое значение
size
Возвращает ширину и высоту видео. Использовать после успешного open.
easyar_Vec2I easyar_VideoPlayer_size(easyar_VideoPlayer * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Возвращаемое значение
volume
Возвращает громкость видео. Использовать после успешного open.
float easyar_VideoPlayer_volume(easyar_VideoPlayer * This)
public func volume() -> Float
public virtual float volume()
Возвращаемое значение
setVolume
Устанавливает громкость видео. Использовать после успешного open.
bool easyar_VideoPlayer_setVolume(easyar_VideoPlayer * This, float volume)
bool setVolume(float volume)
public boolean setVolume(float volume)
fun setVolume(volume: Float): Boolean
- (bool)setVolume:(float)volume
public func setVolume(_ volume: Float) -> Bool
public virtual bool setVolume(float volume)
Параметры
| Имя |
Тип |
Описание |
| volume |
Single |
|
Возвращаемое значение