Class VideoPlayer
VideoPlayer é a classe de reprodução de vídeo.
EasyAR suporta reprodução de vídeo comum, vídeo transparente e streaming. O conteúdo do vídeo será renderizado na textura passada para setRenderTexture.
Esta classe só suporta texturas do OpenGLES 3.0.
Devido à dependência do OpenGLES, todas as funções desta classe (incluindo o destrutor) devem ser chamadas em um único thread que contenha o contexto OpenGLES.
A versão atual exige que largura e altura sejam múltiplos de 16.
Formatos de arquivo de vídeo suportados
Windows: Formatos compatíveis com Media Foundation, instalar decodificadores adicionais pode suportar mais formatos, consulte Supported Media Formats in Media Foundation, não suporta DirectShow
Mac: Não suportado
Android: Formatos suportados pelo sistema, consulte Supported media formats.
iOS: Formatos suportados pelo sistema, atualmente não há documentação de referência válida
VideoPlayer
Construtores
VideoPlayer
void easyar_VideoPlayer__ctor(easyar_VideoPlayer * * Return)
+ (easyar_VideoPlayer *) create
public convenience init()
Métodos
isAvailable
Verifica se está disponível. Retorna true apenas em Windows, Android e iOS, não disponível em 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()
Retorna
setVideoType
Define o tipo de vídeo. Se não definido manualmente, padrão será o tipo comum. Este método precisa ser chamado 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
Retorna
setRenderTexture
Passa a textura usada para exibir o vídeo para o player. Este método precisa ser chamado 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
Retorna
open
Abre o vídeo a partir do path.
path pode ser um arquivo de vídeo local (path/to/video.mp4) ou uma url (http://www.../.../video.mp4). storageType indica o tipo de path. Descrição detalhada veja StorageType.
Este método é assíncrono. open pode levar algum tempo para ser concluído. Se você deseja saber o resultado da abertura do vídeo ou o status da reprodução, precisa lidar com os dados de callback. callback será chamado no thread correspondente ao callbackScheduler. Você pode verificar no callback se a abertura foi bem-sucedida e iniciar a reprodução após a abertura bem-sucedida.
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
Retorna
close
void easyar_VideoPlayer_close(easyar_VideoPlayer * This)
public func close() -> Void
public virtual void close()
Retorna
play
Inicia ou continua a reprodução do vídeo.
bool easyar_VideoPlayer_play(easyar_VideoPlayer * This)
public func play() -> Bool
public virtual bool play()
Retorna
stop
Para a reprodução do vídeo.
void easyar_VideoPlayer_stop(easyar_VideoPlayer * This)
public func stop() -> Void
public virtual void stop()
Retorna
pause
Pausa a reprodução do vídeo.
void easyar_VideoPlayer_pause(easyar_VideoPlayer * This)
public func pause() -> Void
public virtual void pause()
Retorna
isRenderTextureAvailable
Se a textura de vídeo pode ser usada para renderização. Pode ser usado para verificar se a textura passada para o player foi 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()
Retorna
updateFrame
Atualiza os dados da textura. Este método precisa ser chamado no thread de renderização quando isRenderTextureAvailable retornar true.
void easyar_VideoPlayer_updateFrame(easyar_VideoPlayer * This)
public void updateFrame()
public func updateFrame() -> Void
public virtual void updateFrame()
Retorna
duration
Retorna o comprimento do vídeo. Use após open bem-sucedido.
int easyar_VideoPlayer_duration(easyar_VideoPlayer * This)
public func duration() -> Int32
public virtual int duration()
Retorna
currentPosition
Retorna a posição atual de reprodução do vídeo. Use após open bem-sucedido.
int easyar_VideoPlayer_currentPosition(easyar_VideoPlayer * This)
public int currentPosition()
fun currentPosition(): Int
public func currentPosition() -> Int32
public virtual int currentPosition()
Retorna
seek
Ajusta a posição de reprodução para position. Use após open bem-sucedido.
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
| Nome |
Tipo |
Descrição |
| position |
Int32 |
|
Retorna
size
Retorna a largura e altura do vídeo. Use após open bem-sucedido.
easyar_Vec2I easyar_VideoPlayer_size(easyar_VideoPlayer * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Retorna
volume
Retorna o volume do vídeo. Use após open bem-sucedido.
float easyar_VideoPlayer_volume(easyar_VideoPlayer * This)
public func volume() -> Float
public virtual float volume()
Retorna
setVolume
Define o volume do vídeo. Use após open bem-sucedido.
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
| Nome |
Tipo |
Descrição |
| volume |
Single |
|
Retorna