Я записываю свой звук и отправляю его на сервер. когда я получаю файл с сервера, я слышу свой звук. Но продолжительность этого файла составляет -9223372036854775807. Я не понимаю этого странного ... короткое записанное аудио - это нормально. Но когда я записываю звук длительностью около 1 минуты или более, у меня возникает эта проблема. Текущее положение регистрируется хорошо, но не общая продолжительность. как это решить?
private fun initializePlayer() {
if (player == null) {
val trackSelector = DefaultTrackSelector()
trackSelector.setParameters(
trackSelector.buildUponParameters().setMaxVideoSizeSd()
)
player = ExoPlayerFactory.newSimpleInstance(this,trackSelector)
binding.musicPlayer.player = player
binding.musicPlayer.useController=false
defaultDataSourceFactory = DefaultDataSourceFactory(this, this.getString(R.string.app_name))
mediaSourceFactory = ProgressiveMediaSource.Factory(defaultDataSourceFactory)
player!!.playWhenReady = false
player!!.addListener(object : Player.EventListener {
override fun onPlayerStateChanged(playWhenReady: Boolean, playbackState: Int) {
when (playbackState) {
Player.STATE_IDLE -> {
}
Player.STATE_BUFFERING -> {
}
Player.STATE_READY -> {
showLog("totalDuration : "+player!!.duration)
}
Player.STATE_ENDED -> {
player!!.playWhenReady = false
activeHolder?.run {
binding.progressBar.progress = 0
showAudioStartButton(activeHolder!!)
activeHolder = null
}
handlerChangeProgress.removeCallbacks(updateChangeProgressTask)
currentAudioPosition = 0
maxAudioPosition = 0
player!!.seekTo(0)
}
}
}
})
}
}
Журнал
D/TAG: totalDuration : -9223372036854775807