Я использую следующий код для настройки ExoPlayer:
Код: Выделить всё
package com.itsthe1.onetv
import android.net.Uri
import android.os.Bundle
import android.util.Log
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.media3.common.MediaItem
import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.ui.PlayerView
import androidx.media3.common.PlaybackException
import androidx.media3.common.Player
class MainActivity : AppCompatActivity() {
private lateinit var player: ExoPlayer
private var playerView: PlayerView? = null
private val TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
playerView = findViewById(R.id.player_view)
setupExoPlayer()
}
private fun setupExoPlayer() {
player = ExoPlayer.Builder(this).build().apply {
playerView?.player = this
// Replace with your UDP stream URI
val udpUri = Uri.parse("udp://@239.255.0.1:1234")
setMediaItem(MediaItem.fromUri(udpUri))
addListener(object : Player.Listener {
override fun onPlayerError(error: PlaybackException) {
Toast.makeText(this@MainActivity, "Playback error: ${error.message}", Toast.LENGTH_SHORT).show()
Log.e(TAG, "Playback error: ${error.message}")
}
})
prepare()
playWhenReady = true
}
}
override fun onStop() {
super.onStop()
player.pause()
}
override fun onDestroy() {
super.onDestroy()
player.release()
}
}
Вызвано: androidx.media3.datasource.UdpDataSource$UdpDataSourceException: java.net.SocketTimeoutException: истекло время опроса
Что я пробовал:
Проверил URI потока UDP и протестировал его с помощью VLC Media Player.
Убедился, что мое устройство Android имеет сетевой доступ к адресу многоадресной рассылки.
Что я пробовал:
Проверил URI потока UDP и протестировал его с помощью VLC Media Player.
Убедился, что мое устройство Android имеет сетевой доступ к адресу многоадресной рассылки.
Что я пробовал:
Проверил URI UDP-потока и протестировал его с помощью VLC Media Player.
Убедился, что мое устройство Android имеет сетевой доступ к адресу многоадресной рассылки.
/>Проверены настройки сети, чтобы убедиться, что многоадресный трафик разрешен.
Добавлены необходимые разрешения в
Код: Выделить всё
AndroidManifest.xml
Код: Выделить всё
Подробнее здесь: https://stackoverflow.com/questions/791 ... -exoplayer
Мобильная версия