MediaPlayer为getDuration()返回-1
我试图在我的应用程序中使用音频流功能来实现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
适当时间。