Media3 ExoPlayer PlayerView UI - 搜索栏不起作用(更改位置)并且快退/快进按钮被禁用

问题描述 投票:0回答:1

我正在尝试播放

.m4a
音频文件(DocumentProvider/SAF URI,例如:
content://com.android.externalstorage.documents/tree/primary%3AVoiceRecorder/document/primary%3AVoiceRecorder%2F2024-02-09%2017h%2016m%2040s.m4a
),但我无法使用搜索栏更改位置,并且由于某种原因禁用了倒回/快进按钮。为什么?

val player = ExoPlayer.Builder(context).build()
player.setMediaItem(MediaItem.fromUri(audioFileUri))
player.playWhenReady = true
player.prepare()

用户界面:

AndroidView(
    modifier = Modifier
        .fillMaxSize(),
    factory = {
        // androidx.media3.ui.PlayerView
        PlayerView(it).also { playerView ->
            playerView.controllerHideOnTouch = false
            playerView.controllerAutoShow = true
            playerView.controllerShowTimeoutMs = 0
            playerView.player = player
            playerView.setShowRewindButton(true)
            playerView.setShowFastForwardButton(true)
            playerView.showController()
        }
    },
)

val media3Version = "1.2.1"
implementation("androidx.media3:media3-exoplayer:$media3Version")
implementation("androidx.media3:media3-session:$media3Version")
implementation("androidx.media3:media3-ui:$media3Version")
android exoplayer android-media3
1个回答
0
投票

使用 setConstantBitrateSeekingEnabled 修复:

val player = ExoPlayer.Builder(context)
    .setMediaSourceFactory(
        DefaultMediaSourceFactory(
            /* context = */ context,
            /* extractorsFactory = */ DefaultExtractorsFactory().apply {
                setConstantBitrateSeekingEnabled(true)
            }
        )
    )
    .build()
© www.soinside.com 2019 - 2024. All rights reserved.