0

我是 android 开发的新手,自学成才,所以可能会出现一些错误,但没有比这更令人恼火的了。我已经查看了我的代码一千次,在多个网站、书籍和论坛中搜索了高低,但我仍然得到同样的错误,所以这是最后的手段。

我只想在活动中播放视频的硬编码路径,这是我的视频投资组合应用程序的一部分。(硬编码路径仅用于测试,稍后我将从相关按钮按下调用每个视频,但仅在我整理播放器之后!)。

这是我的代码:

String path = "android.resource://mysite/res/raw/video1"; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_videoplayer);

    VideoView view = (VideoView) this.findViewById(R.id.vv);
    MediaController controller = (MediaController) new MediaController(this);

    controller.setMediaPlayer(view);
    view.setVideoPath(path);
    view.requestFocus();
    view.start();
}

这个片段在我的 VideoPlayer 类中,其中 vv 是 XML 中的 VideoView,video1 是要播放的视频。视频为h.264 mp4,时长1分钟,大小3mb,可以通过默认播放器正常播放。

XML:

<VideoView
    android:id="@+id/vv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center" />

活动加载但返回错误“无法播放此视频”。

我非常感谢任何帮助。

4

4 回答 4

0

根据Android的官方文档视频解码支持从android 3.0+添加的MP4(h.264),所以我认为你在3.0以下的版本上播放这个视频。在 android os 版本 3.0+ 的设备上试一试。

于 2013-04-19T09:33:36.560 回答
0
     VideoView view = (VideoView) this.findViewById(R.id.vv);

        view.setVideoPath(path);
        view.setMediaController(new MediaController(this));
        view.requestFocus();
        view.start();

像这样使用。希望这会给你一些解决方案。

于 2013-04-19T09:32:16.007 回答
0

Did you try
MediaController mc = new MediaController(this); mc.setAnchorView(vv);

于 2014-04-27T14:19:03.423 回答
0

尝试这个..

video0=(VideoView)findViewById(R.id.vv);
video0.setMediaController(new MediaController(this));
video0.setVideoURI(Uri.parse("android.resource://" +getPackageName()+ "/" +R.raw.video1));
video0.requestFocus();
video0.start();
于 2013-12-04T06:48:25.750 回答