Class VideoPlayer
VideoPlayer adalah kelas pemutar video.
EasyAR mendukung pemutaran video biasa, video transparan, dan streaming. Konten video akan dirender ke texture yang diteruskan ke setRenderTexture.
Kelas ini hanya mendukung texture OpenGLES 3.0.
Karena bergantung pada OpenGLES, semua fungsi kelas ini (termasuk destruktor) harus dipanggil dalam satu utas yang berisi konteks OpenGLES.
Versi saat ini membutuhkan lebar dan tinggi menjadi kelipatan 16.
Format file video yang didukung
Windows: Format kompatibel Media Foundation, menginstal dekoder tambahan dapat mendukung lebih banyak format, lihat Supported Media Formats in Media Foundation, tidak mendukung DirectShow
Mac: Tidak didukung
Android: Format yang didukung sistem, lihat Supported media formats.
iOS: Format yang didukung sistem, saat ini tidak ada dokumentasi referensi yang valid.
VideoPlayer
Konstruktor
VideoPlayer
void easyar_VideoPlayer__ctor(easyar_VideoPlayer * * Return)
+ (easyar_VideoPlayer *) create
public convenience init()
Metode
isAvailable
Memeriksa ketersediaan. Hanya mengembalikan true di Windows, Android, dan iOS, tidak tersedia di 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()
Mengembalikan
setVideoType
Mengatur jenis video. Jika tidak diatur secara manual, akan default ke jenis biasa. Metode ini perlu dipanggil sebelum 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)
Parameter
Mengembalikan
setRenderTexture
Meneruskan texture yang digunakan untuk menampilkan video ke pemutar. Metode ini perlu dipanggil sebelum 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)
Parameter
Mengembalikan
open
Membuka video dari path.
Path dapat berupa file video lokal (path/to/video.mp4) atau url (http://www.../.../video.mp4). storageType menunjukkan jenis path. Deskripsi detail lihat StorageType.
Metode ini adalah metode asinkron. Open mungkin membutuhkan waktu untuk selesai. Jika Anda ingin mengetahui hasil pembukaan video atau status pemutaran, Anda perlu menangani data callback. Callback akan dipanggil di utas yang sesuai dengan callbackScheduler. Anda dapat memeriksa apakah pembukaan berhasil diselesaikan dalam callback dan mulai memutar setelah berhasil dibuka.
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
Mengembalikan
close
void easyar_VideoPlayer_close(easyar_VideoPlayer * This)
public func close() -> Void
public virtual void close()
Mengembalikan
play
Mulai atau lanjutkan pemutaran video.
bool easyar_VideoPlayer_play(easyar_VideoPlayer * This)
public func play() -> Bool
public virtual bool play()
Mengembalikan
stop
Hentikan pemutaran video.
void easyar_VideoPlayer_stop(easyar_VideoPlayer * This)
public func stop() -> Void
public virtual void stop()
Mengembalikan
pause
void easyar_VideoPlayer_pause(easyar_VideoPlayer * This)
public func pause() -> Void
public virtual void pause()
Mengembalikan
isRenderTextureAvailable
Apakah texture video dapat digunakan untuk rendering. Dapat digunakan untuk memeriksa apakah texture yang diteruskan ke pemutar telah disentuh.
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()
Mengembalikan
updateFrame
Perbarui data texture. Metode ini perlu dipanggil di utas rendering ketika isRenderTextureAvailable mengembalikan true.
void easyar_VideoPlayer_updateFrame(easyar_VideoPlayer * This)
public void updateFrame()
public func updateFrame() -> Void
public virtual void updateFrame()
Mengembalikan
duration
Kembalikan panjang video. Digunakan setelah open berhasil.
int easyar_VideoPlayer_duration(easyar_VideoPlayer * This)
public func duration() -> Int32
public virtual int duration()
Mengembalikan
currentPosition
Kembalikan posisi video saat ini yang sedang diputar. Digunakan setelah open berhasil.
int easyar_VideoPlayer_currentPosition(easyar_VideoPlayer * This)
public int currentPosition()
fun currentPosition(): Int
public func currentPosition() -> Int32
public virtual int currentPosition()
Mengembalikan
seek
Sesuaikan posisi pemutaran ke position. Digunakan setelah open berhasil.
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
| Nama |
Tipe |
Deskripsi |
| position |
Int32 |
|
Mengembalikan
size
Kembalikan lebar dan tinggi video. Digunakan setelah open berhasil.
easyar_Vec2I easyar_VideoPlayer_size(easyar_VideoPlayer * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Mengembalikan
volume
Kembalikan volume video. Digunakan setelah open berhasil.
float easyar_VideoPlayer_volume(easyar_VideoPlayer * This)
public func volume() -> Float
public virtual float volume()
Mengembalikan
setVolume
Atur volume video. Digunakan setelah open berhasil.
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
| Nama |
Tipe |
Deskripsi |
| volume |
Single |
|
Mengembalikan