1 概述

作为一个C语言开发的代码搬运工,想写个Android程序相当不容易。花了两天时间,翻了n篇帖子,感觉每个帖子都不完整,比如各个函数之前参数如何传递,如何把结果显示出来,这些都不完整。于是写这篇博客,希望对Android初学者有点用处。开发环境为Android Studio,版本为Android Studio 3.4 Canary 2,关于Android Studio安装和SDK配置,这里不赘述。

2 工程实现

2.1 .xml文件

新建工程video,修改/res/layout/activity_main.xml文件,在里面增加一个VideoView控件,完整的activity_main.xml文件和截图如下,

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><VideoViewandroid:id="@+id/videoView"android:layout_width="0dp"android:layout_height="226dp"android:layout_marginStart="22dp"android:layout_marginLeft="22dp"android:layout_marginTop="40dp"android:layout_marginEnd="22dp"android:layout_marginRight="22dp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

2.2 .java文件

修改/java/com.example.video/Mainactivity.java文件,完整的Mainactivity.java文件和截图如下

package com.example.video;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;
import android.widget.MediaController;
import android.widget.VideoView;
import android.net.Uri;public class MainActivity extends AppCompatActivity {private VideoView videoView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);play_mp4();}private void play_mp4() {String videoUrl1="/sdcard/Pictures/a.mp4";Uri uri = Uri.parse(videoUrl1);videoView = this.findViewById(R.id.videoView);videoView.setMediaController(new MediaController(this));videoView.setVideoURI(uri);videoView.start();}
}

2.3 AndroidManifest.xml文件

修改AndroidManifest.xml文件,在里面添加如下2个权限

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

完整的AndroidManifest.xm文件和截图如下

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.video"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/></manifest>

3 功能测试

3.1 测试遇到的坑

如果你遇到无法播放此视频的提示,一般为两种原因,一是视频地址不对,二是没有给程序添加存储权限
视频地址
代码里视频地址为:/sdcard/Pictures/a.mp4
也就是内部存储(非SD卡)根目录下Pictures文件夹下a.mp4文件
存储权限添加
请在设置里面添加存储权限,以下3各图分别为测试错误现象、视频地址和存储权限添加。

3.2 测试结果

正确的测试结果如下:

4 参考

https://blog.csdn.net/ternence_hsu/article/details/82836560

Android 播放视频相关推荐

  1. android视频播放异常,Android 播放视频常见问题小结

    在android 开发中常见到视频播放的问题,在常规的视频中 有直接用videoView + MediaController 或者 mediaController + serfercie holder ...

  2. Android播放视频或视频通话只有声音没有画面解决方法,布局刷新失败解决办法

    Android播放视频或视频通话只有声音没有画面这个问题困扰我好几天,原因竟然是因为Mainfest.xml里的一个属性:hardwareAccelerated android:hardwareAcc ...

  3. java与js交互视频_Android与H5交互—Java调用Js、Js调Java、H5页面调用Android播放视频...

    content="ANZO,GAME,LOL,DNF,DOTA,撸啊撸,地下城与勇士,掌游宝,攻略,宝典,模拟器,加点,战报,英雄,最新,最全,最强,视频"> content ...

  4. cocos android 播放视频,Cocos2d-x IOS 和Android播放视频

    本篇文章会给大家介绍在对IOS 和Android开发时,是如何实现播放视频这个功能的,下面就分别给大家介绍下. 一. iOS播放本地视频 对于ios平台的视频播放,这里直接使用MediaPlayer. ...

  5. Android播放视频快进帧预览图完美解決方案

    播放视频快进预览图完美解決方案,使用方法如下,使用FFmpeg,不影响原有播放器, 就是先截取缩略图保存下来,快进时选用图片显示,最优方案,播放性能最好,体验完美. 参考github: https:/ ...

  6. Android 播放视频之ExoPlayer

    在上一篇中,我们了解了系统自带的VideoView来播放视频,但其支持的视频格式偏少,我们需要其他的视频播放器. ExoPlayer是Google的开源的应用级媒体播放器项目,支持多种视频格式和流媒体 ...

  7. qt android播放器代码,Qt on android 播放视频的实现

    本文介绍的是使用QML进行视频的播放,可以直接编译为APK在android上运行. QML中对多媒体的处理提供了很多方便的组件,对于播放音频.视频都很方便.这些多媒体组件属于Qt Multimedia ...

  8. Android播放视频VideoView

    上一篇是播放音频的MediaPalyer,这一篇则是播放视频的VideoView,其实它两的用法,基本上是一样. 1.在布局文件中,写一个VideoView的控件. <VideoView and ...

  9. android播放视频控件,视频播放控件VideoView的基本使用

    在Android的界面控件中有一个视频播放控件,可以直接在手机上面开辟一个视频播放的UI,播放视频,下面ATAAW.COM大概介绍下视频控件VideoView的使用,由于视频播放是属于Android多 ...

  10. android视频播放全屏,android – 播放视频全屏

    我试图在我的应用程序播放视频.它必须被嵌入. 我可以使用VideoView播放我的视频,如上所述 讨论.但有一些问题. >我需要全屏视频,如何将VideoView拉伸到全屏? 这会拉伸视频吗? ...

最新文章

  1. vue2 切换路由时 页面滚动到顶部 用游览器返回时 记住上页的位置
  2. 单向链表JAVA代码
  3. NumPy库入门教程:基础知识总结
  4. http请求POST方式发送获得返回值
  5. android不同机型编译不同so,如何使用adb命令查看android中的数据库
  6. [UnityShader基础]06.#pragma multi_compile
  7. java动态代理模式
  8. 程序设计语言的特性——心理特性、工程特性、技术特性
  9. 阿里 Java 性能调优手册,简直yyds
  10. HTML5七夕情人节表白网页制作【蓝色3D动态相册】HTML+CSS+JavaScript 程序员表白3D相册代码 html生日快乐祝福网页制作
  11. 日语单词记忆方法(正在试用)
  12. 加拿大工作签证-(1)
  13. 《Vue插件》瀑布流插件vue-masonry的使用与踩坑记录
  14. 2022数学建模国赛A题赛后总结
  15. tensorflow 2.0 Layer定义的源码分析
  16. 计算机系统时间的修复,电脑时间总是不对,小编教你如何恢复正常
  17. 由开发者的人品问题领略测试人员的人品问题
  18. Windows Server之浅谈SMB以及SMB小案例分享
  19. Java Map(hashmap)
  20. 4月海外域名主机商TOP10:HostGator第4 雅虎第7

热门文章

  1. 通俗易懂的Kafka零拷贝机制
  2. (附源码)基于PHP下的大学生校园交流论坛的设计与实现 毕业设计101634
  3. ZBrush 笔刷的基础参数
  4. 互联网巨头追捧的“中台”战略,有多重要?
  5. Flutter键盘弹出造成布局异常解决
  6. 微信小程序海报画布生成圆形头像
  7. PyCharm选择性忽略PEP8代码风格警告信息
  8. 金融风控实战——信贷特征衍生与筛选(中国移动人群画像赛TOP1)
  9. 国产统信UOS使用FTP跨网段访问桌面云神州网信版windows的共享文件
  10. 14款超时尚的HTML5时钟动画