什么是VideoView

VideoView是用来播放视频的UI控件,可以支持播放本地及网络视频.

基础样例
  1. 代码
class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// playFromLocal()
playFromNet()
}

/**
* 播放网络视频
*/
private fun playFromNet() =
playVideo("https://flv2.bn.netease.com/videolib1/1811/26/OqJAZ893T/HD/OqJAZ893T-mobile.mp4")

/**
* 播放本地视频
*/
private fun playFromLocal() = playVideoFromRaw(R.raw.test_video)

/**
* 播放raw目录下视频
*/
private fun playVideoFromRaw(rawFileId: Int) =
playVideo("android.resource://$packageName/$rawFileId")

/**
* 播放指定路径下视频,可以从本地的或网络的
*/
private fun playVideo(filePath: String) {
val mediaController = MediaController(this)
videoView.setMediaController(mediaController)
videoView.setVideoURI(Uri.parse(filePath))
videoView.start()
}
}

  1. 权限申请(播放网络视频才需要)
    在AndroidManifest中增加:
<uses-permission android:name="android.permission.INTERNET" />