繁体   English   中英

MediaPlayer / VideoView无法播放视频?

[英]MediaPlayer / VideoView not playing video?

我是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" />

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

任何帮助我都非常感谢。

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

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

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

根据Android的官方文档,从Android 3.0+开始添加了对MP4(h.264)的视频解码支持,因此我认为您正在3.0以下的版本上播放此视频。 在具有android os 3.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();

你试过了吗
MediaController mc =新的MediaController(this); mc.setAnchorView(vv);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM