Я сталкиваюсь с проблемой, в которой плейвив от утечек экзоплайера или переворачивается на предыдущий экран после навигации назад. Это происходит, когда я нажимаю кнопку «Назад» или вызову navcontroller.popbackstack () на экране композиции. < /P>
Вот код для композиционного экрана: < /p>
@OptIn(ExperimentalMaterialApi::class)
@Stateless
@Composable
fun HelpVideo(@RawRes videoResource: Int,onNavIconClicked: () -> Unit,@StringRes guideTitle: Int)
{
ApplyStatusNavBarColor()
MaintenanceAppScaffold(topAppBar = {
CommonAppBar(
text = R.string.soundassist_update_interrupted_video,
isInfoButton = false,
isBackButton = false
)
})
{
val context = LocalContext.current
val exoPlayer = remember {
ExoPlayer.Builder(context).build().apply {
val videoUri = RawResourceDataSource.buildRawResourceUri(videoResource)
val mediaItem = MediaItem.fromUri(videoUri)
addMediaItem(mediaItem)
prepare()
playWhenReady = true
}
}
LaunchedEffect(exoPlayer) {
exoPlayer.awaitVideoFinish()
onNavIconClicked()
}
AndroidView(
modifier =
Modifier.fillMaxSize(),
factory = {
StyledPlayerView(context).apply {
player = exoPlayer
layoutParams =
FrameLayout.LayoutParams(
ViewGroup.LayoutParams
.MATCH_PARENT,
ViewGroup.LayoutParams
.MATCH_PARENT
)
useController = false
}
}
)
DisposableEffect(exoPlayer) {
onDispose {
exoPlayer.release()
}
}
}}
< /code>
Проблема: < /strong> < /p>
При навигации назад: < /p>
Playerview виден на предыдущем экране в течение нескольких секунд
до истечения. Это происходит независимо от того, нажимаю ли я кнопку
назад или использую NavController.popbackStack (). < /Li>
< /ul>
Что я пробовал: < /strong> < /p>
Использование NavController.PopCackStack (). Вызов NavController.navigate (GotoPrevious Screen). Хотя это решает визуальную проблему
, она вводит другие связанные с навигацией осложнения
и не является идеальным решением. < /Li>
< /ul>
Почему Playerview ведут себя как этот приход, когда навигации на перспективе? /> Дополнительный контекст: < /strong> < /p>
Я использую JetPack Compose с Exoplayer для воспроизведения видео.
Проблема, кажется, связана с жизненным циклом или утилизацией PlayerView в AndroidView.>
Подробнее здесь: https://stackoverflow.com/questions/793 ... k-or-using
Exoplayer playerview UI утечки на предыдущий экран при нажатии назад или с использованием NavController.popbackStack () ⇐ Android
Форум для тех, кто программирует под Android
1751649085
Anonymous
Я сталкиваюсь с проблемой, в которой плейвив от утечек экзоплайера или переворачивается на предыдущий экран после навигации назад. Это происходит, когда я нажимаю кнопку «Назад» или вызову navcontroller.popbackstack () на экране композиции. < /P>
Вот код для композиционного экрана: < /p>
@OptIn(ExperimentalMaterialApi::class)
@Stateless
@Composable
fun HelpVideo(@RawRes videoResource: Int,onNavIconClicked: () -> Unit,@StringRes guideTitle: Int)
{
ApplyStatusNavBarColor()
MaintenanceAppScaffold(topAppBar = {
CommonAppBar(
text = R.string.soundassist_update_interrupted_video,
isInfoButton = false,
isBackButton = false
)
})
{
val context = LocalContext.current
val exoPlayer = remember {
ExoPlayer.Builder(context).build().apply {
val videoUri = RawResourceDataSource.buildRawResourceUri(videoResource)
val mediaItem = MediaItem.fromUri(videoUri)
addMediaItem(mediaItem)
prepare()
playWhenReady = true
}
}
LaunchedEffect(exoPlayer) {
exoPlayer.awaitVideoFinish()
onNavIconClicked()
}
AndroidView(
modifier =
Modifier.fillMaxSize(),
factory = {
StyledPlayerView(context).apply {
player = exoPlayer
layoutParams =
FrameLayout.LayoutParams(
ViewGroup.LayoutParams
.MATCH_PARENT,
ViewGroup.LayoutParams
.MATCH_PARENT
)
useController = false
}
}
)
DisposableEffect(exoPlayer) {
onDispose {
exoPlayer.release()
}
}
}}
< /code>
Проблема: < /strong> < /p>
При навигации назад: < /p>
Playerview виден на предыдущем экране в течение нескольких секунд
до истечения. Это происходит независимо от того, нажимаю ли я кнопку
назад или использую NavController.popbackStack (). < /Li>
< /ul>
Что я пробовал: < /strong> < /p>
Использование NavController.PopCackStack (). Вызов NavController.navigate (GotoPrevious Screen). Хотя это решает визуальную проблему
, она вводит другие связанные с навигацией осложнения
и не является идеальным решением. < /Li>
< /ul>
Почему Playerview ведут себя как этот приход, когда навигации на перспективе? /> Дополнительный контекст: < /strong> < /p>
Я использую JetPack Compose с Exoplayer для воспроизведения видео.
Проблема, кажется, связана с жизненным циклом или утилизацией PlayerView в AndroidView.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79378855/exoplayer-playerview-ui-leaks-to-the-previous-screen-when-pressing-back-or-using[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия