【发布时间】:2021-12-24 03:58:47
【问题描述】:
我在主要活动的底部三分之一处循环播放了一个非常简单的视频。当应用程序被最小化然后我回到它时,视频将停止播放,而是显示黑屏,似乎没有办法让它再次播放。 (我不想要视频控件。)
这是我的 MainActivity.kt:
import android.app.ActionBar
import android.graphics.Color
import android.net.Uri
import android.os.Bundle
import android.view.View
import android.widget.VideoView
import androidx.appcompat.app.AppCompatActivity
import android.widget.TextView
import android.graphics.drawable.ColorDrawable
class MainActivity : AppCompatActivity() {
// declaring a null variable for VideoView
var simpleVideoView: VideoView? = null
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
supportActionBar?.setDisplayShowTitleEnabled(false)
supportActionBar?.hide()
// assigning id of VideoView from
// activity_main.xml layout file
simpleVideoView = findViewById<View>(R.id.videoView) as VideoView
// set the absolute path of the video file which is going to be played
simpleVideoView!!.setVideoURI(Uri.parse("android.resource://"
+ packageName + "/" + R.raw.gp))
simpleVideoView!!.requestFocus()
// starting the video
simpleVideoView!!.start()
simpleVideoView!!.setOnCompletionListener { simpleVideoView!!.start() }
}
}
【问题讨论】:
-
查看文档:“VideoView 在进入后台时不会保持其完整状态。特别是,它不会恢复当前的播放状态、播放位置、选定的轨道或通过 addSubtitleSource 添加的任何字幕轨道()。应用程序应在 Activity.onSaveInstanceState(Bundle) 和 Activity.onRestoreInstanceState(Bundle) 中自行保存和恢复这些。"
-
@Cristi 谢谢你的回答。我是 Android 和 Kotlin 的新手,充其量是一般的编码爱好者。您能否详细说明将您所指的代码放在哪里? (这只是我个人使用的一个很小的应用程序,所以它不一定是完美的。)
标签: android android-studio kotlin android-videoview