Android使用VideoView出现无法播放此视频问题的解决方法
前言
最近的项目中需要用到VideoView实现视频播放,自己花了一天多时间才能出来,有点想打自己再见,在学校的时候没好好学。
使用VideoView播放视频的步骤如下:
1) 在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件。
2) 调用VideoView的如下两个方法来加载指定视频。
setVideoPath(String path):加载 path 文件所代表的视频。
setVideoURI(Uri uri):加载uri所对应的视频。
3) 调用VideoView的start()、stop()、pause()方法来控制视频播放。
实际上与VideoView—起结合使用的还有一个MediaController类,它的作用是提供一个友好的图形控制界面,通过该控制界面来控制视频的播放。
本文主要介绍的是Android用VideoView无法播放此视频的解决方法,下面废话不多说了,来一起看看详细的介绍吧
发现问题
废话少说,此次遇到的问题是无法播放此视频+黑屏,问题如下图,
这个问题硬是发了我一天多时间,在网上找不到解决方案,老板急,俺也急。
我是这样写的,已经简单的不能再简单了
Uri uri = Uri.parse("http://pic.ibaotu.com/00/20/08/96e888piCHck.mp4"); Log.i("Video", "视频:-->>"+uri); vh.leftVideo.setMediaController(new MediaController(mContext)); vh.leftVideo.setVideoURI(uri);//播放网络视频 // 4.4 开始播放 vh.leftVideo.start(); // 4.5 获取焦点 vh.leftVideo.requestFocus();
原因分析:
很多人会以为是没有添加权限,或者是设备问题等等,都有可能。不过我这次犯了一个低级错误。
由于公司后台还没有实现视频上传功能,而我又着急弄视频播放,那么就去百度找视频素材,结果就是死活不肯出来。最后的最后,也是偶然的机会,我在公司的其他项目中看到了以前同事写的视频播放,关键的地方是我把它的视频路径换过来,结果奇迹般的可以播放了。
遇到这种问题,视频的最好是自己上传的,不要用网上的视频素材,网上的视频素材人家是做了保护的措施。还有一种方法,就是使用本地视频咯。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
android之视频播放系统VideoView和自定义VideoView控件的应用
Android播放视频,包含系统自带VideoView控件,和自定义VideoView控件,可全屏播放,案例包含了本地视频和网络视频. 1:自定义VideoView控件 2:布局代码 3:Activity代码: 4:网络权限 5:效果图 小结:其中的Uri mUri = Uri.parse("android.resource://" + getPackageName() +"/"+ R.raw.qiche);//本地视频 是加载的本地视频,可以下载一个视频,在res
-
android使用videoview播放视频
复制代码 代码如下: public class Activity01 extends Activity{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final VideoView vid
-
Android使用VideoView播放本地视频和网络视频的方法
1.效果展示 2.布局文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="matc
-
android视频播放简单实现示例(VideoView&MediaPlayer)
如果你看过我的<android音乐播放简单实现(MediaPlayer)>,那么本篇将会毫无压力. 首先是主界面的三个按钮和一个播放控件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sche
-
详解Android App中使用VideoView来实现视频播放的方法
通过VideoView播放视频的步骤: 1.在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件 2.调用VideoView的如下两个方法来加载指定的视频 (1)setVidePath(String path):加载path文件代表的视频 (2)setVideoURI(Uri uri):加载uri所对应的视频 3.调用VideoView的start().stop().psuse()方法来控制视频的播放 VideoView通过与MediaController类结合使用,
-
Android自定义播放器控件VideoView
介绍 最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了.在写VideoView播放视频时候定义控制的代码全写在Actvity里了,写完一看我靠代码好乱,于是就写了个自定义的播放器控件,支持指定大小,可以横竖屏切换,手动左右滑动快进快退.好了,下面开始. 效果图有点卡,我也不知道为啥..... VideoView介绍 这个是我们实现视频播放最主要的控件,详细的介绍大家百度就去看,这里介绍几个常用的方法. 用于播放视频
-
Android 使用VideoView播放MP4的简单实现
使用VideoView播放MP4 播放示例 实现简单的播放功能,播放手机本地的MP4文件.不依赖任何第三方框架,不添加任何防腐剂. 添加一个系统自带的控制条. 相关代码请参阅: https://github.com/RustFisher/android-MediaPlayer/tree/master/appMp4 申请权限 读取存储中的MP4文件 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE&
-
Android多媒体之VideoView视频播放器
本文实例为大家分享了视频播放器的两种方式,供大家参考,具体内容如下 1).SurfaceView 在布局文件中 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/too
-
Android编程实现VideoView循环播放功能的方法
本文实例讲述了Android编程实现VideoView循环播放功能的方法.分享给大家供大家参考,具体如下: package com.hangcheng; import com.example.bdcustomer_demo.R; import com.hangcheng.view.MyVideoView; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import
-
Android使用VideoView出现无法播放此视频问题的解决方法
前言 最近的项目中需要用到VideoView实现视频播放,自己花了一天多时间才能出来,有点想打自己再见,在学校的时候没好好学. 使用VideoView播放视频的步骤如下: 1) 在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件. 2) 调用VideoView的如下两个方法来加载指定视频. setVideoPath(String path):加载 path 文件所代表的视频. setVideoURI(Uri uri):加载uri所对应的视频. 3) 调用VideoV
-
android真机调试时无法显示logcat信息的解决方法介绍
android真机调试时无法显示logcat信息的解决方法介绍: window-->show view-->android->devices, 打开devices,点击右边的截屏图片的按钮.等到出现截图的时候,logcat就出来信息了!
-
Android Service中使用Toast无法正常显示问题的解决方法
本文实例讲述了Android Service中使用Toast无法正常显示问题的解决方法.分享给大家供大家参考,具体如下: 在做Service简单练习时,在Service中的OnCreate.OnStart.OnDestroy三个方法中都像在Activity中同样的方法调用了Toast.makeText,并在Acitivy中通过两个按钮来调用该服务的onStart和onDestroy方法: DemoService代码如下: @Override public void onCreate() { su
-
Android 中 GridView嵌套在ScrollView里只有一行的解决方法
在做android项目中遇到一个bug,GridView嵌套在ScrollView里只有一行的问题.下面小编在网上找到了解决方法,具体方法如下所示: 方法一:就是上面说的通过计算出来ListView或者GridView中的子列高度和 进行显示: public void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdap
-
Android 弹出软键盘所遇到的坑及解决方法
demo下载 重要代码: //1.此layout作为最外层的layout: //2.设置需要调整的view: setAdjustView(View view); //3.如果需要控制输入框的显示与隐藏,可以实现OnInputViewVisibleListener接口: public class SoftInputAdjustLayout extends RelativeLayout { private static final String TAG = SoftInputAdjustLayout
-
Android Studio导入Eclipse项目时.so库文件的解决方法
最近,将一个包含有百度地图SDK的Eclipse工程导入到Android Studio环境下时,运行进入App地图窗口出现了闪退,错误提示:java.lang.UnsatisfiedLinkError: No implementation found for long com.baidu.p--. 这是因为在Android Studio上导入so文件的方式和Eclipse不同. 解决方法有两种: 1.如果是直接在libs目录下创建子目录armeabi放置.so文件(针对Eclipse结构目录),
-
更新至Android Studio4.1后发现as打不开的解决方法(原因分析)
前言 今天收到了as更新4.1推送,更完后发现打不开了,报下面的错误 Internal error. Please refer to https://code.google.com/p/android/issues java.lang.NoSuchMethodError: com.intellij.ide.plugins.PluginManagerCore.loadDescriptors()[Lcom/intellij/ide/plugins/IdeaPluginDescriptorImpl
-
vue项目中播放rtmp视频文件流的方法
想要播放rtmp视频文件流用H5的video标签是不可行的,所以这里我引用了一款插件 vue-video-player ,当然想要流畅的运用 vue-video-player 播放视频还必须安装辅助插件 videojs-flash.最后还要特别注意的是必须使用npm安装,当然我在安装过程中也遇到了一个问题,就是在选择使用 vue-video-player前还安装了videojs插件,卸载从新安装 vue-video-player时由于项目中有以前安装的其他视频组件影响,一直运行不起来,后面我把n
-
Android Studio多工程引用同一个library项目配置的解决方法
在使用Android Studio开发的时候,如遇到多个项目引用同一个library的情况时,会遇到在每个项目中都要有一套library的代码的情况,对于还在开发和维护中的Library需要频繁的修改,这对同步就很麻烦,为了解决这个问题,出现了下面的解决方案. 首先:新建一个类库工程,工程名为AppLibs.Dev. 在该类库中包含一个公共的类库appLibs的Module,Module下面的build.gradle配置如下: /** 声明是Android类库 */ apply plugin:
-
在Android开发中替换资源图片不起作用的解决方法
现象 在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是使用的是原来的资源图片. 原因 在开发过程中,由于使用模拟器测试了程序,在首次运行后会将res文件夹下的图片资源文件(如drawable-hdpi.drawable-ldpi和drawable-mdpi)拷贝到bin文件夹下.在替换资源图片后,eclipse并不清楚是否有图片改变,所以会使用原来bi
随机推荐
- 恢复百度云盘本地误删的文件脚本(简单方法)
- SQL SERVER 2008 R2配置管理器出现“远程过程调用失败”(0x800706be)错误提示
- IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
- 在windows下给新硬盘分区图解_图解硬盘分区
- 实例介绍PHP的Reflection反射机制
- 使用root权限运行自己所编译程序的解决方法
- c语言中return与exit的区别浅析
- 将mysql转换到oracle必须了解的50件事
- Android使用ViewPager实现屏幕滑动效果
- 基于javascript、ajax、memcache和PHP实现的简易在线聊天室
- asp.net导出excel数据的常见方法汇总
- 鲜为人知的CSS技巧10则
- 基于jquery实现二级联动效果
- c++中strcpy函数在VS2015无法使用的问题
- 使用jquery与图片美化checkbox和radio控件的代码(打包下载)
- jquery ajax 调用失败的原因示例介绍
- jquery实现文本框鼠标右击无效以及不能输入的代码
- JS+CSS实现Li列表隔行换色效果的方法
- JavaScript判断密码强度(自写代码)
- 新浪滑门技术