본문 바로가기

OS/Android

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_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.setOnPreparedListener(m_hPreparedListener)
}

var m_hPreparedListener: MediaPlayer.OnPreparedListener = MediaPlayer.OnPreparedListener { mp ->
	mp.start()
}
반응형