forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			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)
							 | 
						||
| 
								 | 
							
								}
							 |