51 lines
902 B
Kotlin
51 lines
902 B
Kotlin
package tech.kinc
|
|
|
|
import java.util.ArrayList
|
|
|
|
import android.view.Surface
|
|
|
|
class KincMoviePlayer(var path: String) {
|
|
companion object {
|
|
var players = ArrayList<KincMoviePlayer?>()
|
|
|
|
@JvmStatic
|
|
fun updateAll() {
|
|
for (player in KincMoviePlayer.players) {
|
|
player!!.update()
|
|
}
|
|
}
|
|
|
|
fun remove(id: Int) {
|
|
players[id] = null
|
|
}
|
|
}
|
|
|
|
private var movieTexture: KincMovieTexture? = null
|
|
var id: Int = players.size
|
|
|
|
init {
|
|
players.add(this)
|
|
}
|
|
|
|
fun init() {
|
|
movieTexture = KincMovieTexture()
|
|
val surface = Surface(movieTexture!!.surfaceTexture)
|
|
nativeCreate(path, surface, id)
|
|
surface.release()
|
|
}
|
|
|
|
fun getMovieTexture(): KincMovieTexture? {
|
|
return movieTexture
|
|
}
|
|
|
|
fun update(): Boolean {
|
|
return movieTexture!!.update()
|
|
}
|
|
|
|
fun getTextureId(): Int {
|
|
return movieTexture!!.textureId
|
|
}
|
|
|
|
private external fun nativeCreate(path: String, surface: Surface, id: Int)
|
|
}
|