Class VideoPlayer
VideoPlayer es la clase de reproducción de video.
EasyAR admite la reproducción de videos normales, videos transparentes y transmisión de medios. El contenido del video se renderizará en la textura pasada a setRenderTexture.
Esta clase solo admite texturas de OpenGLES 3.0.
Debido a la dependencia de OpenGLES, todas las funciones de esta clase (incluido el destructor) deben llamarse en un único hilo que contenga el contexto de OpenGLES.
La versión actual requiere que el ancho y el alto sean múltiplos de 16.
Formatos de archivo de video compatibles
Windows: Formatos compatibles con Media Foundation, instalar decodificadores adicionales puede admitir más formatos, consulte Supported Media Formats in Media Foundation, no se admite DirectShow
Mac: No compatible
Android: Formatos compatibles con el sistema, consulte Supported media formats.
iOS: Formatos compatibles con el sistema, actualmente no hay documentación de referencia válida
VideoPlayer
Constructores
VideoPlayer
void easyar_VideoPlayer__ctor(easyar_VideoPlayer * * Return)
+ (easyar_VideoPlayer *) create
public convenience init()
Métodos
isAvailable
Comprueba si está disponible. Devuelve true solo en Windows, Android e iOS, no disponible en 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()
Devuelve
setVideoType
Establece el tipo de video. Si no se establece manualmente, se establecerá como tipo normal por defecto. Este método debe llamarse antes de 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)
Parámetros
Devuelve
setRenderTexture
Pasa la textura utilizada para mostrar el video al reproductor. Este método debe llamarse antes de 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)
Parámetros
Devuelve
open
Abre el video desde la ruta.
La ruta puede ser un archivo de video local (path/to/video.mp4) o una URL (http://www.../.../video.mp4). storageType indica el tipo de ruta. Para una descripción detallada, consulte StorageType.
Este método es asíncrono. open puede tardar algún tiempo en completarse. Si deseas conocer el resultado de la apertura del video o el estado de reproducción, debes manejar los datos de callback. El callback se llamará en el hilo correspondiente a callbackScheduler. Puedes verificar en la devolución de llamada si la apertura se completó con éxito y comenzar la reproducción después de una apertura exitosa.
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)
Parámetros
Devuelve
close
void easyar_VideoPlayer_close(easyar_VideoPlayer * This)
public func close() -> Void
public virtual void close()
Devuelve
play
Inicia o reanuda la reproducción del video.
bool easyar_VideoPlayer_play(easyar_VideoPlayer * This)
public func play() -> Bool
public virtual bool play()
Devuelve
stop
Detiene la reproducción del video.
void easyar_VideoPlayer_stop(easyar_VideoPlayer * This)
public func stop() -> Void
public virtual void stop()
Devuelve
pause
Pausa la reproducción del video.
void easyar_VideoPlayer_pause(easyar_VideoPlayer * This)
public func pause() -> Void
public virtual void pause()
Devuelve
isRenderTextureAvailable
Si la textura de video se puede usar para renderizar. Se puede usar para verificar si la textura pasada al reproductor ha sido tocada.
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()
Devuelve
updateFrame
Actualiza los datos de la textura. Este método debe llamarse en el hilo de renderizado cuando isRenderTextureAvailable devuelve true.
void easyar_VideoPlayer_updateFrame(easyar_VideoPlayer * This)
public void updateFrame()
public func updateFrame() -> Void
public virtual void updateFrame()
Devuelve
duration
Devuelve la duración del video. Úsalo después de un open exitoso.
int easyar_VideoPlayer_duration(easyar_VideoPlayer * This)
public func duration() -> Int32
public virtual int duration()
Devuelve
currentPosition
Devuelve la posición actual de reproducción del video. Úsalo después de un open exitoso.
int easyar_VideoPlayer_currentPosition(easyar_VideoPlayer * This)
public int currentPosition()
fun currentPosition(): Int
public func currentPosition() -> Int32
public virtual int currentPosition()
Devuelve
seek
Ajusta la posición de reproducción a position. Úsalo después de un open exitoso.
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)
Parámetros
| Nombre |
Tipo |
Descripción |
| position |
Int32 |
|
Devuelve
size
Devuelve el ancho y alto del video. Úsalo después de un open exitoso.
easyar_Vec2I easyar_VideoPlayer_size(easyar_VideoPlayer * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Devuelve
volume
Devuelve el volumen del video. Úsalo después de un open exitoso.
float easyar_VideoPlayer_volume(easyar_VideoPlayer * This)
public func volume() -> Float
public virtual float volume()
Devuelve
setVolume
Establece el volumen del video. Úsalo después de un open exitoso.
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)
Parámetros
| Nombre |
Tipo |
Descripción |
| volume |
Single |
|
Devuelve