Class VideoPlayer
VideoPlayer è la classe per la riproduzione video.
EasyAR supporta la riproduzione di video normali, video trasparenti e streaming.
Il contenuto video verrà renderizzato sulla texture passata a setRenderTexture.
Questa classe supporta solo texture OpenGLES 3.0.
A causa della dipendenza da OpenGLES, tutte le funzioni di questa classe (incluso il distruttore) devono essere chiamate in un singolo thread contenente il contesto OpenGLES.
La versione corrente richiede che larghezza e altezza siano multipli di 16.
Formati video supportati
Windows: Formati compatibili con Media Foundation, l'installazione di decoder aggiuntivi può supportare più formati, fare riferimento a Supported Media Formats in Media Foundation, non supporta DirectShow
Mac: Non supportato
Android: Formati supportati dal sistema, fare riferimento a Supported media formats.
iOS: Formati supportati dal sistema, attualmente non ci sono documenti di riferimento validi.
VideoPlayer
Costruttori
VideoPlayer
void easyar_VideoPlayer__ctor(easyar_VideoPlayer * * Return)
+ (easyar_VideoPlayer *) create
public convenience init()
Metodi
isAvailable
Controlla se è disponibile. Restituisce true solo su Windows, Android e iOS, non disponibile su 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()
Valore restituito
setVideoType
Imposta il tipo di video. Se non impostato manualmente, il valore predefinito è normale. Questo metodo deve essere chiamato prima di 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)
Parametri
Valore restituito
setRenderTexture
Passa la texture utilizzata per visualizzare il video al player. Questo metodo deve essere chiamato prima di 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)
Parametri
Valore restituito
open
Apre il video dal path.
Il path può essere un file video locale (path/to/video.mp4) o un URL (http://www.../.../video.mp4).
storageType indica il tipo di path.
Vedere StorageType per una descrizione dettagliata.
Questo metodo è asincrono.
open potrebbe richiedere del tempo per completarsi.
Se si desidera conoscere il risultato dell'apertura del video o lo stato della riproduzione, è necessario gestire i dati di callback.
Il callback verrà chiamato nel thread corrispondente a callbackScheduler.
Nel callback, puoi verificare se l'apertura è terminata con successo e iniziare la riproduzione dopo l'apertura riuscita.
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)
Parametri
Valore restituito
close
void easyar_VideoPlayer_close(easyar_VideoPlayer * This)
public func close() -> Void
public virtual void close()
Valore restituito
play
Inizia o riprende la riproduzione video.
bool easyar_VideoPlayer_play(easyar_VideoPlayer * This)
public func play() -> Bool
public virtual bool play()
Valore restituito
stop
Ferma la riproduzione video.
void easyar_VideoPlayer_stop(easyar_VideoPlayer * This)
public func stop() -> Void
public virtual void stop()
Valore restituito
pause
Mette in pausa la riproduzione video.
void easyar_VideoPlayer_pause(easyar_VideoPlayer * This)
public func pause() -> Void
public virtual void pause()
Valore restituito
isRenderTextureAvailable
Indica se la texture video può essere utilizzata per il rendering. Può essere utilizzato per verificare se la texture passata al player è stata modificata.
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()
Valore restituito
updateFrame
Aggiorna i dati della texture. Questo metodo deve essere chiamato nel thread di rendering quando isRenderTextureAvailable restituisce true.
void easyar_VideoPlayer_updateFrame(easyar_VideoPlayer * This)
public void updateFrame()
public func updateFrame() -> Void
public virtual void updateFrame()
Valore restituito
duration
Restituisce la durata del video. Da utilizzare dopo un open riuscito.
int easyar_VideoPlayer_duration(easyar_VideoPlayer * This)
public func duration() -> Int32
public virtual int duration()
Valore restituito
currentPosition
Restituisce la posizione corrente di riproduzione del video. Da utilizzare dopo un open riuscito.
int easyar_VideoPlayer_currentPosition(easyar_VideoPlayer * This)
public int currentPosition()
fun currentPosition(): Int
public func currentPosition() -> Int32
public virtual int currentPosition()
Valore restituito
seek
Imposta la posizione di riproduzione su position. Da utilizzare dopo un open riuscito.
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)
Parametri
| Nome |
Tipo |
Descrizione |
| position |
Int32 |
|
Valore restituito
size
Restituisce le dimensioni (larghezza e altezza) del video. Da utilizzare dopo un open riuscito.
easyar_Vec2I easyar_VideoPlayer_size(easyar_VideoPlayer * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Valore restituito
volume
Restituisce il volume del video. Da utilizzare dopo un open riuscito.
float easyar_VideoPlayer_volume(easyar_VideoPlayer * This)
public func volume() -> Float
public virtual float volume()
Valore restituito
setVolume
Imposta il volume del video. Da utilizzare dopo un open riuscito.
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)
Parametri
| Nome |
Tipo |
Descrizione |
| volume |
Single |
|
Valore restituito