Table of Contents

Class VideoPlayer

Namespace
easyar

VideoPlayer ist die Videowiedergabeklasse. EasyAR unterstützt normale Videos, transparente Videos und Streaming-Wiedergabe. Der Videoinhalt wird auf die Textur gerendert, die an setRenderTexture übergeben wurde. Diese Klasse unterstützt nur OpenGLES 3.0-Texturen. Aufgrund der Abhängigkeit von OpenGLES müssen alle Funktionen dieser Klasse (inklusive Destruktor) in einem einzigen Thread mit OpenGLES-Kontext aufgerufen werden. Aktuelle Version erfordert Breite und Höhe als Vielfache von 16. Unterstützte Videoformate: Windows: Media Foundation-kompatible Formate. Zusätzliche Decoder ermöglichen mehr Formate. Siehe Supported Media Formats in Media Foundation. DirectShow nicht unterstützt. Mac: Nicht unterstützt Android: Systemunterstützte Formate. Siehe Supported media formats. iOS: Systemunterstützte Formate. Derzeit keine effektive Referenzdokumentation.

VideoPlayer

Konstruktoren

VideoPlayer

void easyar_VideoPlayer__ctor(easyar_VideoPlayer * * Return)
VideoPlayer()
public VideoPlayer()
constructor()
+ (easyar_VideoPlayer *) create
public convenience init()
public VideoPlayer()

Methoden

isAvailable

Prüft die Verfügbarkeit. Gibt nur unter Windows, Android und iOS true zurück. Auf Mac nicht verfügbar.

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

Rückgabewert

Typ Beschreibung
Boolean

setVideoType

Legt den Videotyp fest. Ohne manuelle Einstellung standardmäßig Normaltyp. Muss vor open aufgerufen werden.

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)

Parameter

Name Typ Beschreibung
videoType VideoType

Rückgabewert

Typ Beschreibung
Void

setRenderTexture

Übergibt die zur Videodarstellung verwendete Textur an den Player. Muss vor open aufgerufen werden.

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)

Parameter

Name Typ Beschreibung
texture TextureId

Rückgabewert

Typ Beschreibung
Void

open

Öffnet Video von path. path kann lokale Videodatei (path/to/video.mp4) oder URL (http://www.../.../video.mp4) sein. storageType gibt den Pfadtyp an. Details siehe StorageType. Asynchroner Aufruf. open kann Zeit benötigen. Für Öffnungsresultat/Wiedergabestatus Callback-Daten verarbeiten. Callback wird im Thread des callbackSchedulers aufgerufen. Im Callback Öffnungserfolg prüfen und bei Erfolg Wiedergabe starten.

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)

Parameter

Name Typ Beschreibung
path String
storageType StorageType
callbackScheduler CallbackScheduler
callback Optional<Action<VideoStatus>>

Rückgabewert

Typ Beschreibung
Void

close

Schließt das Video.

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

Rückgabewert

Typ Beschreibung
Void

play

Startet oder setzt Videowiedergabe fort.

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

Rückgabewert

Typ Beschreibung
Boolean

stop

Stoppt Videowiedergabe.

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

Rückgabewert

Typ Beschreibung
Void

pause

Pausiert Videowiedergabe.

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

Rückgabewert

Typ Beschreibung
Void

isRenderTextureAvailable

Gibt an, ob Videotextur zum Rendern verfügbar ist. Prüft, ob die übergebene Textur verändert wurde.

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

Rückgabewert

Typ Beschreibung
Boolean

updateFrame

Aktualisiert Texturdaten. Muss im Rendering-Thread aufgerufen werden, wenn isRenderTextureAvailable true zurückgibt.

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

Rückgabewert

Typ Beschreibung
Void

duration

Gibt Videolänge zurück. Nach erfolgreichem open verwenden.

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

Rückgabewert

Typ Beschreibung
Int32

currentPosition

Gibt aktuelle Wiedergabeposition zurück. Nach erfolgreichem open verwenden.

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

Rückgabewert

Typ Beschreibung
Int32

seek

Springt zur Position position. Nach erfolgreichem open verwenden.

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)

Parameter

Name Typ Beschreibung
position Int32

Rückgabewert

Typ Beschreibung
Boolean

size

Gibt Videoabmessungen zurück. Nach erfolgreichem open verwenden.

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

Rückgabewert

Typ Beschreibung
Vec2I

volume

Gibt Videolautstärke zurück. Nach erfolgreichem open verwenden.

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

Rückgabewert

Typ Beschreibung
Single

setVolume

Legt Videolautstärke fest. Nach erfolgreichem open verwenden.

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)

Parameter

Name Typ Beschreibung
volume Single

Rückgabewert

Typ Beschreibung
Boolean