본문 바로가기

전체 글

(187)
exoplayer rtmp error(java.lang.AbstractMethodError) 오류내용 java.lang.AbstractMethodError: abstract method "void com.google.android.exoplayer2.upstream.DataSource.addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)" 1. 컴파일옵션 추가 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } 2. 엑소플레이어 버전 업그레이드 def exoplayerVersion = "2.8.4" -> "2.9.6"
MediaPlayer error(-38, 0) val m_Player = MediaPlayer() fun play(strUrl : String) { m_Player.setWakeMode(context, 1) m_Player.isLooping = false m_Player.setVolume(1.0f, 1.0f) m_Player.setAudioStreamType(AudioManager.STREAM_MUSIC) m_Player.setDataSource(strUrl) m_Player.prepareAsync() m_player.start() } //error (-38, 0) 미디어 플레이어가 완전히 준비되지 않았을 때 play() 메소드를 호출하면 생기는 에러이다. 따라서 데이터소스가 인코딩이 완료되었을 때 play() 메소드를 호출해야 한다. val m_P..
[안드로이드] java.lang.BootstrapMethodError: Exception from call site #4 bootstrap method 에러 하.. exoplayer 분석하는 도중에 자꾸 DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter()에서 앱이 죽길래 dependency쪽이 잘못됐나 확인하다 한시간을 버렸다.. 알고보니 자바 버전만 올려주면 되는것........ compileOptions { targetCompatibility = "8" sourceCompatibility = "8" }
안드로이드 PermissionManager library 전에 올렸던 권한 요청 소스는 특정 핸드폰에서는 제대로 작동하지 않는 이슈를 확인하게 되어 권한 관련 라이브러리를 포스팅 해보려고 한다. library name : PermissionManager 1. Module: app Gradle에 implementation "com.github.karanchuri:PermissionManager:0.1.0"을 추가 2. repositories에 maven { url 'https://jitpack.io' }추가 3. manifest application 태그에 tools:replace="android:label" 추가 4. 엑티비티에 권한 요청 소스 작성 class StartActivity : AppCompatActivity() { val arr_permission..
코틀린 Data Class 코틀린에는 자바엔 없는 DataClass라는 것이 있다. 여태 자바처럼 짜는 것에 익숙해져서 공부 안하고 있다가 깊은 복사와 해체 기능을 손쉽게 사용할 수 있다는 점을 알고 정리를 해놓으려고 한다. 말이 필요없다 코드 ㄱㄱ 1. 해체 fun main(args: Array) { val arrData = mutableListOf() var vo = Data() vo.indx = 1 vo.name = "김비서" arrData.add(vo) vo = Data() vo.indx = 2 vo.name = "박비서" arrData.add(vo) arrData.forEachIndexed { _, data -> val (indx, name) = data println("$indx , $name") } } data cla..
Android ndk 사용할 때 deburgger가 느려짐 먼저 응용 프로그램을 실행 한 다음 "디버거를 안드로이드 프로세스에 연결"버튼을 누르면 프로세스 선택 대화 상자가 열리고 디버거를 'auto'에서 'java'로 설정하면 빠르게 디버깅 가능
안드로이드 권한 요청 class MainActivity : AppCompatActivity() { val arr_permission = listOf(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE) val HAHA_FOLDER_NAME = "/Download/HAHA/" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) if(checkPermission()) { makeHAHADATAFolder() } } fun checkPermission() :..
코틀린 split 신기함 자바에서는 split 함수로 자르고 리스트에 담고 등등 너무 귀찮았는데 코틀린에서는 엄청 간편하게 자를 수 있게 만들어 놨다...ㅋㅋㅋ val test = "하하, 호호, 헤헤" val (haha, hoho, hehe) = test.replace(" ", "").split(',') println(haha) println(hoho) println(hehe) 출력: 하하 호호 헤헤 val에서 선언한 변수중 필요없는 변수는 해체할 수 있다. val test = "하하, 호호, 헤헤" val (haha, _, hehe) = test.replace(" ", "").split(',') println(haha) println(hehe) 출력: 하하 헤헤