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();

原因分析:

很多人会以为是没有添加权限,或者是设备问题等等,都有可能。不过我这次犯了一个低级错误。

由于公司后台还没有实现视频上传功能,而我又着急弄视频播放,那么就去百度找视频素材,结果就是死活不肯出来。最后的最后,也是偶然的机会,我在公司的其他项目中看到了以前同事写的视频播放,关键的地方是我把它的视频路径换过来,结果奇迹般的可以播放了。

遇到这种问题,视频的最好是自己上传的,不要用网上的视频素材,网上的视频素材人家是做了保护的措施。还有一种方法,就是使用本地视频咯。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • 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

随机推荐