如何在Android中播放视频文件?

问题描述 投票:14回答:5

我将视频MP4放到了我的域名空间。我有它的公共URL,现在我想在我的Android应用程序中播放它;但不知道我怎么能这样做。我使用了以下无效的代码。轨道控制器正在移动,但我在屏幕上看不到任何视频。

public class MPlayer extends Activity{
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.playvideo);
    VideoView videoView = new VideoView(MPlayer.this);
    videoView.setMediaController(new MediaController(this));
    videoView.setVideoURI(Uri.parse("http://www.semanticdevlab.com/abc.mp4"));
    videoView.requestFocus();
    videoView.start();
    LinearLayout l = (LinearLayout)findViewById(R.id.mplayer);
    l.addView(videoView);
}
}
android video playback
5个回答
7
投票

大多数时候,我使用以下代码:

MediaPlayer mp = new MediaPlayer();
    mp.setDataSource(PATH_TO_FILE);
    mp.prepare();
    mp.start();

有关更多信息,请查看此页面:http://developer.android.com/guide/topics/media/index.htmlhttp://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo_Video.html


14
投票

VideoView类可以从各种来源(例如资源或内容提供商)加载图像,负责从视频计算其测量值,以便可以在任何布局管理器中使用,并提供各种显示选项,如缩放和着色。

码:

videoView = (VideoView)findViewById(R.id.ViewVideo);
videoView.setVideoURI(Uri.parse(“android.resource://” + getPackageName() +”/”+R.raw.video));
videoView.setMediaController(new MediaController(this));
videoView.requestFocus();
videoView.start();

如果你想看到源代码:Play video file using VideoView in Android


6
投票

我想这可能会帮助您找到解决方案。

mp=new MediaPlayer();                    
mp.setDataSource(path);
mp.setScreenOnWhilePlaying(true);
mp.setDisplay(holder);
mp.prepare();
mp.start();

3
投票

如果您在模拟器中尝试此操作,则可能必须在真实设备中尝试此操作,因为有时我也会使用相同的问题。我将无法在模拟器中查看视频,但视频将在移动设备中播放没有任何问题。问题是,我认为使用模拟器,而不是使用您的代码。


0
投票

你应该在onResume做,因为在onCreate VideoView不知道它的大小,不能创建适当的表面来显示视频。

public class MPlayer extends Activity{

VideoView videoView;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.playvideo);
    videoView = new VideoView(MPlayer.this);
    videoView.setMediaController(new MediaController(this));
    LinearLayout l = (LinearLayout)findViewById(R.id.mplayer);
    l.addView(videoView);
   }

    @Override
    protected void onResume() {
        super.onResume();
videoView.setVideoURI(Uri.parse("http://www.semanticdevlab.com/abc.mp4"));
        videoView.start();
}
© www.soinside.com 2019 - 2024. All rights reserved.