2

繰り返しの質問ではないことを願っていますが、次のコードから

File f = new File(Environment.getExternalStorageDirectory(), TRYVID);  
Uri uri = Uri.fromFile(f);
mc = new MediaController(this);
mp.setMediaController(mc);
mp.setVideoPath("/sdcard/try2.mp4");

これは、ボタンが押されたときに呼び出される関数の一部です。私が達成したいのは、ユーザーがキーを押したときにビデオが再生されることですが、ビデオビューは raw フォルダーから何も再生しないことがわかりました。ビデオをSDカードにコピーしましたが、エミュレーターのボタンを押した後、予期せず閉じる必要があると言ってクラッシュします。.setVideoPath と .setUri の両方を試しましたが、どちらも機能しません。

4

4 に答える 4

1

まず最初に、mediaController で .setAnchorView(View v) を使用していることを確認する必要があります。そうしないと、videoView を正しく制御できません。また、実際にビデオを開始するための .start() がありません。最近rstpビデオファイルからのストリーミングで同様のことを行ったので、エミュレーターで実行しているため、AVDでのビデオ再生が機能しないことが多いため、機能しない可能性があると言えます。物理デバイスにアクセスできる場合は、物理デバイスで実行してみてください。また、logcat を読んで、エラーが発生している場所をよりよく理解してください。

これが役立つことを願っています。

于 2011-01-11T18:55:56.227 に答える
1

SDカードからビデオファイルを再生するには、これを試すことができます:

String filepath = Environment.getExternalStorageDirectory()+"/a.mp4";
VideoView vv = new VideoView(getApplicationContext());
setContentView(vv);
vv.setVideoPath(filepath);
vv.setMediaController(new MediaController(this));
vv.requestFocus();
vv.start();
于 2011-09-17T06:42:14.293 に答える
0

以下のコードを試してみてください。これにより、問題が確実に解決されます。

VideoView videoView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    videoView = (VideoView)findViewById(R.id.VideoView);        
    videoView.setVideoPath("/sdcard/blonde_secretary.3gp");
    videoView.start();  
}

お役に立てば幸いです。

于 2016-04-18T04:18:19.667 に答える
0

同じ質問があり、解決策を見つけました。リンク内の私のコードは正常に動作します。私のこの質問をチェックしてください

于 2016-06-17T18:21:18.173 に答える