主要代码
- activity
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()
}
}
- 权限申请(播放网络视频才需要) 在AndroidManifest中增加:
完整源代码
https://gitee.com/cxyzy1/VideoViewDemo