Class VideoPlayer
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)
+ (easyar_VideoPlayer *) create
public convenience init()
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
public static func isAvailable() -> Bool
public static bool isAvailable()
Rückgabewert
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
Rückgabewert
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
Rückgabewert
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
Rückgabewert
close
void easyar_VideoPlayer_close(easyar_VideoPlayer * This)
public func close() -> Void
public virtual void close()
Rückgabewert
play
Startet oder setzt Videowiedergabe fort.
bool easyar_VideoPlayer_play(easyar_VideoPlayer * This)
public func play() -> Bool
public virtual bool play()
Rückgabewert
stop
void easyar_VideoPlayer_stop(easyar_VideoPlayer * This)
public func stop() -> Void
public virtual void stop()
Rückgabewert
pause
Pausiert Videowiedergabe.
void easyar_VideoPlayer_pause(easyar_VideoPlayer * This)
public func pause() -> Void
public virtual void pause()
Rückgabewert
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
updateFrame
Aktualisiert Texturdaten. Muss im Rendering-Thread aufgerufen werden, wenn isRenderTextureAvailable true zurückgibt.
void easyar_VideoPlayer_updateFrame(easyar_VideoPlayer * This)
public void updateFrame()
public func updateFrame() -> Void
public virtual void updateFrame()
Rückgabewert
duration
Gibt Videolänge zurück. Nach erfolgreichem open verwenden.
int easyar_VideoPlayer_duration(easyar_VideoPlayer * This)
public func duration() -> Int32
public virtual int duration()
Rückgabewert
currentPosition
Gibt aktuelle Wiedergabeposition zurück. Nach erfolgreichem open verwenden.
int easyar_VideoPlayer_currentPosition(easyar_VideoPlayer * This)
public int currentPosition()
fun currentPosition(): Int
public func currentPosition() -> Int32
public virtual int currentPosition()
Rückgabewert
seek
Springt zur Position position. Nach erfolgreichem open verwenden.
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)
Parameter
| Name |
Typ |
Beschreibung |
| position |
Int32 |
|
Rückgabewert
size
Gibt Videoabmessungen zurück. Nach erfolgreichem open verwenden.
easyar_Vec2I easyar_VideoPlayer_size(easyar_VideoPlayer * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Rückgabewert
volume
Gibt Videolautstärke zurück. Nach erfolgreichem open verwenden.
float easyar_VideoPlayer_volume(easyar_VideoPlayer * This)
public func volume() -> Float
public virtual float volume()
Rückgabewert
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