Android视频播放'无法播放此视频'

时间:2014-10-14 21:32:23

标签: android video android-mediaplayer android-videoview h.264

通过阅读堆栈帖子和博客,看起来应该很容易,所以也许我只需要另外一对(或几千双)的眼睛。

目前的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
   android:id="@+id/LinearLayout01"
   android:layout_height="fill_parent"     
   android:paddingLeft="2px"
   android:paddingRight="2px"
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:paddingTop="2px"
   android:paddingBottom="2px"
   android:layout_width="fill_parent"
   android:orientation="vertical">

  <VideoView 
     android:layout_height="fill_parent"
     android:layout_width="fill_parent" 
     android:id="@+id/VideoView" />

</LinearLayout>

当前代码:

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_vid_splash);
    videoView = (VideoView)findViewById(R.id.VideoView);        
    videoView.setVideoPath("vid_splash.mp4");
    videoView.start();  
}

只是为了开始工作,我把它变成了一个活动(尽管它应该是一个片段)。我的主要活动通过上述onCreate调用启动了启动活动的意图。

结果是一项活动启动并迅速说:“无法播放此视频”。

我用参考视频测试了这个,另一个堆栈溢出帖子中的视频叫做“documentariesandyou.mp4”等等。我已经重新编码了我的视频,以确保它是h.264'基线'配置文件,以及几个Handbrake Android配置文件。

结果总是一样:“无法播放此视频”。

我在LogCat中看到的唯一错误如下:

MediaPlayer  Error    (1, -2147483648)

2 个答案:

答案 0 :(得分:0)

由于mediaplayer错误代码(1)表示(未知错误),因此很难检测到问题。无论如何,您可以MediaPlayer使用SurfaceView代替VideoView来获得对视频的更多控制权。 VideoViewMediaPlayer的子类,您可以在此处找到http://www.netmite.com/android/mydroid/frameworks/base/core/java/android/widget/VideoView.java

答案 1 :(得分:0)

您必须将视频转换为Android标准。 通过使用视频转换程序或在线转换器,您可以将视频文件转换为Android .mp4格式。

例如,您可以使用此网站进行转换:

http://video.online-convert.com/convert-video-for-android