使用 kotlin 和 android studio 实现 VideoView

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

我的布局中有一个 videoView 和一个播放它的代码,并且可以工作,但视频的左侧有一条黑线,我放置的所有视频都发生这种情况

我认为这是 and

your text
roid studio 的适当默认设置,但我不知道我要做什么来删除它

my function to play video```private fun playVideo() {
        val videoUri = Uri.parse("android.resource://" + requireActivity().packageName + "/" + R.raw.videooooo)
        Log.d("VideoPlayer", "URI do vídeo: $videoUri")

        try {
            videoView.setVideoURI(videoUri)
            videoView.setOnPreparedListener { mediaPlayer ->
                mediaPlayer.isLooping = false
            }
            videoView.setOnCompletionListener {
                Log.d("VideoPlayer", "Vídeo reproduzido completamente.")
            }

            val mediaController = MediaController(requireContext())
            mediaController.setAnchorView(videoView)
            videoView.setMediaController(mediaController)

            videoView.setOnTouchListener { _, _ ->
                mediaController.show()
                false
            }
            videoView.start()
        } catch (e: Exception) {
            Log.e("VideoPlayer", "Erro ao reproduzir vídeo: ${e.message}", e)
        }
    }
android kotlin video mobile
1个回答
0
投票

我认为这里的问题是 videoview 没有正确处理视频的大小并与 videoview 的右侧对齐。尝试将 videoView 中的宽度更改为 match_parent ,将高度更改为 wrap_content ,对于中心的视频,您可以尝试 android:layout_centerInParent VideoView 标签内的 xml 中的 ="true"。您还可以尝试使用 setOnPreparedListener 内的缩放模式在代码中缩放视频

videoView.setOnPreparedListener { mediaPlayer ->
        mediaPlayer.isLooping = false
        mediaPlayer.setVideoScalingMode(MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT)
    }

但要小心缩放视频可能会引入拉伸等其他问题。尝试获取设备屏幕的宽度和高度以及您正在播放的视频的宽高比,并尝试相应地缩放。

© www.soinside.com 2019 - 2024. All rights reserved.