Table of Contents

Class VideoPlayer

Пространство имен
easyar

VideoPlayer — это класс для воспроизведения видео. EasyAR поддерживает обычное видео, прозрачное видео и потоковое воспроизведение. Содержимое видео будет отображаться на texture, переданном в setRenderTexture. Этот класс поддерживает только texture OpenGLES 3.0. Из-за зависимости от OpenGLES, все функции этого класса (включая деструктор) должны вызываться в одном потоке, содержащем контекст 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)
VideoPlayer()
public VideoPlayer()
constructor()
+ (easyar_VideoPlayer *) create
public convenience init()
public VideoPlayer()

Методы

isAvailable

Проверяет, доступен ли. Возвращает true только на Windows, Android и iOS, на Mac недоступен.

bool easyar_VideoPlayer_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
+ (bool)isAvailable
public static func isAvailable() -> Bool
public static bool isAvailable()

Возвращаемое значение

Тип Описание
Boolean

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)

Параметры

Имя Тип Описание
videoType VideoType

Возвращаемое значение

Тип Описание
Void

setRenderTexture

Передает 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)

Параметры

Имя Тип Описание
texture TextureId

Возвращаемое значение

Тип Описание
Void

open

Открывает видео из path. path может быть локальным видеофайлом (path/to/video.mp4) или URL (http://www.../.../video.mp4). storageType указывает тип path. Подробное описание см. StorageType. Этот метод асинхронный. open может занять некоторое время. Если вы хотите знать результат открытия видео или состояние воспроизведения, нужно обрабатывать данные callback. callback будет вызван в потоке, соответствующем callbackScheduler. В обратном вызове вы можете проверить, успешно ли завершилось открытие, и начать воспроизведение после успешного открытия.

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)

Параметры

Имя Тип Описание
path String
storageType StorageType
callbackScheduler CallbackScheduler
callback Optional<Action<VideoStatus>>

Возвращаемое значение

Тип Описание
Void

close

Закрывает видео.

void easyar_VideoPlayer_close(easyar_VideoPlayer * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()

Возвращаемое значение

Тип Описание
Void

play

Начинает или возобновляет воспроизведение видео.

bool easyar_VideoPlayer_play(easyar_VideoPlayer * This)
bool play()
public boolean play()
fun play(): Boolean
- (bool)play
public func play() -> Bool
public virtual bool play()

Возвращаемое значение

Тип Описание
Boolean

stop

Останавливает воспроизведение видео.

void easyar_VideoPlayer_stop(easyar_VideoPlayer * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()

Возвращаемое значение

Тип Описание
Void

pause

Приостанавливает воспроизведение видео.

void easyar_VideoPlayer_pause(easyar_VideoPlayer * This)
void pause()
public void pause()
fun pause(): Unit
- (void)pause
public func pause() -> Void
public virtual void pause()

Возвращаемое значение

Тип Описание
Void

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()

Возвращаемое значение

Тип Описание
Boolean

updateFrame

Обновляет данные texture. Этот метод нужно вызывать в потоке рендеринга, когда isRenderTextureAvailable возвращает true.

void easyar_VideoPlayer_updateFrame(easyar_VideoPlayer * This)
void updateFrame()
public void updateFrame()
fun updateFrame(): Unit
- (void)updateFrame
public func updateFrame() -> Void
public virtual void updateFrame()

Возвращаемое значение

Тип Описание
Void

duration

Возвращает длительность видео. Используется после успешного open.

int easyar_VideoPlayer_duration(easyar_VideoPlayer * This)
int duration()
public int duration()
fun duration(): Int
- (int)duration
public func duration() -> Int32
public virtual int duration()

Возвращаемое значение

Тип Описание
Int32

currentPosition

Возвращает текущую позицию воспроизведения видео. Используется после успешного open.

int easyar_VideoPlayer_currentPosition(easyar_VideoPlayer * This)
int currentPosition()
public int currentPosition()
fun currentPosition(): Int
- (int)currentPosition
public func currentPosition() -> Int32
public virtual int currentPosition()

Возвращаемое значение

Тип Описание
Int32

seek

Устанавливает позицию воспроизведения в position. Используется после успешного open.

bool easyar_VideoPlayer_seek(easyar_VideoPlayer * This, int position)
bool seek(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

Возвращаемое значение

Тип Описание
Boolean

size

Возвращает ширину и высоту видео. Используется после успешного open.

easyar_Vec2I easyar_VideoPlayer_size(easyar_VideoPlayer * This)
Vec2I size()
public @Nonnull Vec2I size()
fun size(): Vec2I
- (easyar_Vec2I *)size
public func size() -> Vec2I
public virtual Vec2I size()

Возвращаемое значение

Тип Описание
Vec2I

volume

Возвращает громкость видео. Используется после успешного open.

float easyar_VideoPlayer_volume(easyar_VideoPlayer * This)
float volume()
public float volume()
fun volume(): Float
- (float)volume
public func volume() -> Float
public virtual float volume()

Возвращаемое значение

Тип Описание
Single

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

Возвращаемое значение

Тип Описание
Boolean