MediaPlayer возвращает -1 для getDuration ()

Я пытаюсь реализовать MediaPlayer в своем приложении с функцией аудиопотока (т. Е. Аудиофайлы находятся на сервере).

  player = MediaPlayer(); player.setDataSource("http://wedevotional.com/a.mp3"); player.setOnBufferingUpdateListener(object : MediaPlayer.OnBufferingUpdateListener{ override fun onBufferingUpdate(p0: MediaPlayer?, p1: Int) { Log.d("Bufferring = ",p1.toString()) } }) player.setOnPreparedListener(object:MediaPlayer.OnPreparedListener{ override fun onPrepared(p0: MediaPlayer?) { Log.d("Duration = ",p0!!.duration.toString()) Log.d("Current Position = ",p0!!.currentPosition .toString()) } }) player.setOnErrorListener(object :MediaPlayer.OnErrorListener{ override fun onError(p0: MediaPlayer?, p1: Int, p2: Int): Boolean { Log.d("Error = ","Error") return true } }) player.prepareAsync() 

Я хочу показать CurrentDuration & TotalDuration песни. Кроме того, я должен уметь искать песню в определенное время.

Но MediaPlayer всегда возвращает -1 для этого.

Кроме того, если я загружаю тот же файл в другое место, то его возвращающее надлежащее время для Current Duration .

Solutions Collecting From Web of "MediaPlayer возвращает -1 для getDuration ()"