通过阅读堆栈帖子和博客,看起来应该很容易,所以也许我只需要另外一对(或几千双)的眼睛。
目前的布局:
<?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)
答案 0 :(得分:0)
由于mediaplayer错误代码(1)表示(未知错误),因此很难检测到问题。无论如何,您可以MediaPlayer
使用SurfaceView
代替VideoView
来获得对视频的更多控制权。 VideoView
是MediaPlayer
的子类,您可以在此处找到http://www.netmite.com/android/mydroid/frameworks/base/core/java/android/widget/VideoView.java
答案 1 :(得分:0)
您必须将视频转换为Android标准。 通过使用视频转换程序或在线转换器,您可以将视频文件转换为Android .mp4格式。
例如,您可以使用此网站进行转换: