web-dev-qa-db-ja.com

Androidのビデオビューで.mp4ビデオを再生するには?

ビデオプレーヤーアプリケーションに取り組んでいます。ネイティブビデオビューで。mp4ビデオを再生します。私はnot to playvideo using rlです。エラーが発生していますこのビデオは再生できませんまた、ネイティブビデオビューではできませんからダウンロードしたビデオを再生です。

ビデオビューでビデオを再生するための私のコード:

String mUrl = "http://www.servername.com/projects/projectname/videos/1361439400.mp4";

VideoView mVideoView  = (VideoView)findViewById(R.id.videoview)
videoMediaController = new MediaController(this);
mVideoView.setVideoPath(mUrl);
videoMediaController.setMediaPlayer(mVideoView);
mVideoView.setMediaController(videoMediaController);
mVideoView.requestFocus();
mVideoView.start();

アイデアを共有してください。

ありがとう。

36
Hiren Patel

最後にそれは私のために動作します。

private VideoView videoView;

videoView = (VideoView) findViewById(R.id.videoView);

Uri video = Uri.parse("http://www.servername.com/projects/projectname/videos/1361439400.mp4");
videoView.setVideoURI(video);
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
  @Override       
  public void onPrepared(MediaPlayer mp) {
       mp.setLooping(true);
       videoView.start();
    }
});

これが他の人に役立つことを願っています。

22
Hiren Patel

MP4は単なるコンテナーです。MP4内のビデオとオーディオのストリームは、両方とも異なる形式でエンコードされます。

Androidはネイティブで特定の種類の形式のみをサポートします。 これはここのリストです。

ビデオとオーディオのエンコードタイプがサポートされていることを確認してください。 「mp4」と表示されているからといって、自動的に再生可能になるわけではありません。

30
Ken Wolf

次のように使用します:

Uri uri = Uri.parse(URL); //Declare your url here.

VideoView mVideoView  = (VideoView)findViewById(R.id.videoview)
mVideoView.setMediaController(new MediaController(this));       
mVideoView.setVideoURI(uri);
mVideoView.requestFocus();
mVideoView.start();

別の方法:

  String LINK = "type_here_the_link";
  VideoView mVideoView  = (VideoView) findViewById(R.id.videoview);
  MediaController mc = new MediaController(this);
  mc.setAnchorView(videoView);
  mc.setMediaPlayer(videoView);
  Uri video = Uri.parse(LINK);
  mVideoView.setMediaController(mc);
  mVideoView.setVideoURI(video);
  mVideoView.start();

このエラーが発生している場合は、 クライアント側でファイルを開けませんでした。Androidでサーバー側のエラーを試行しています 。また、 これを参照 。これで解決策が得られることを願っています。

19
Nirmal

レンダリングしているビデオの形式を確認してください。 APIレベル11からmp4形式のレンダリングが開始され、形式はmp4(H.264)でなければなりません

私は同じ問題に遭遇しました。フォーマットをヒットする前にビデオを多くのフォーマットに変換しなければなりませんでした:ビデオをmp4に変換するためにトータルビデオコンバーターを使用してください。それは魅力のように機能します。

5
Michael

私はそれが問題かどうかわかりませんが、私のために働いたのは、mVideoView.start();inside the mVideoView.setOnPreparedListenerイベントコールバック。

例えば:

Uri uriVideo = Uri.parse(<your link here>);

MediaController mediaController = new MediaController(mContext);
mediaController.setAnchorView(mVideoView);
mVideoView.setMediaController(mediaController);
mVideoView.setVideoURI(uriVideo);
mVideoView.requestFocus();

mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
{
     @Override
     public void onPrepared(MediaPlayer mp)
     {
          mVideoViewPeekItem.start();
     }
});
1
EZDsIt