Class VideoPlayer
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)
+ (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
Передает 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.
Этот метод асинхронный. 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)
Параметры
Возвращаемое значение
close
void easyar_VideoPlayer_close(easyar_VideoPlayer * This)
public func close() -> Void
public virtual void close()
Возвращаемое значение
play
Начинает или возобновляет воспроизведение видео.
bool easyar_VideoPlayer_play(easyar_VideoPlayer * This)
public func play() -> Bool
public virtual bool play()
Возвращаемое значение
stop
Останавливает воспроизведение видео.
void easyar_VideoPlayer_stop(easyar_VideoPlayer * This)
public func stop() -> Void
public virtual void stop()
Возвращаемое значение
pause
Приостанавливает воспроизведение видео.
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. Этот метод нужно вызывать в потоке рендеринга, когда 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
Возвращает текущую позицию воспроизведения видео. Используется после успешного open.
int easyar_VideoPlayer_currentPosition(easyar_VideoPlayer * This)
public int currentPosition()
fun currentPosition(): Int
public func currentPosition() -> Int32
public virtual int currentPosition()
Возвращаемое значение
seek
Устанавливает позицию воспроизведения в 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 |
|
Возвращаемое значение