Expecting binder but got null!
initFromDataSource, cannot create extractor!
Failed to init from data source!
error (1, -2147483648)
Error (1,-2147483648)
На этом рисунке показано, в какой форме приходит мой запрос. Я поместил его в свой класс данных:
Этот код необходим для реализации функций MediaPlayer. Так как сам проект мультиплатформенный. [code]class AudioPlayerImp(private val client: HttpClient) : AudioPlayer { private var mediaPlayer: MediaPlayer? = null private var playerState: PlayerState = PlayerState.IDLE
override suspend fun play(audioUrl: String) { stop()
val downloadsDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) val fileName = audioUrl.split("/").last() val filePath = "${downloadsDir.absolutePath}/$fileName" val file = File(filePath) if (!file.exists()) { client.downloadAndSave(audioUrl, fileName) return }
mediaPlayer = MediaPlayer().apply { setDataSource(filePath) setOnPreparedListener { setPlayerState(PlayerState.PREPARED) // Начать воспроизведение после подготовки if (getPlayerState() == PlayerState.PREPARED) { start() setPlayerState(PlayerState.PLAYING) } } setOnBufferingUpdateListener { _, percent -> if (getPlayerState() == PlayerState.COMPLETED || getPlayerState() == PlayerState.PAUSED) { return@setOnBufferingUpdateListener } if (!isPlaying && percent >= 50) { // Порог буферизации в 50% if (getPlayerState() == PlayerState.PREPARED) { start() setPlayerState(PlayerState.PLAYING) } } } setOnCompletionListener { setPlayerState(PlayerState.COMPLETED) } setOnErrorListener { _, what, extra -> setPlayerState(PlayerState.ERROR) true Ошибка обработана } prepareAsync() } } } [/code] Это выдержка из журналов: [code]Expecting binder but got null! initFromDataSource, cannot create extractor! Failed to init from data source! error (1, -2147483648) Error (1,-2147483648) [/code] На этом рисунке показано, в какой форме приходит мой запрос. Я поместил его в свой класс данных: [img]https ://i.sstatic.net/wjMNTrEY.png[/img]