0
     VideoView v = (VideoView) findViewById(R.id.VideoView01);
     Uri uri = Uri.parse("android.resource://" + getPackageName() + "vid.mp4");
     mc = new MediaController(this);
     v.setMediaController(mc);
     v.setVideoURI(uri);
     v.start();

ビデオを再生できないという警告ボックスが表示されます。これに対する解決策はありますか。

前もって感謝します

4

1 に答える 1

0

これは、Linux ファイルシステムのパーミッションの問題です。ファイルの場所は、アプリケーションのみが所有します。MediaPlayerサービスのViewView は、ファイル システムの観点から見ると、別の「ユーザー」としての実行に依存しています。

過去にこれを解決した方法は、データ ソースとしてFileDisscriptorを取るSurfaceViewを拡張するカスタム VideoView を作成することです。

この側は、ファイル システムに関する限り、既に開いているデータへの接続を提供することで問題を解決します。

気分が悪い場合は、Google からVideoView コードを取得して、新しい setVideoFileDiscriptor メソッドを追加できます。

于 2012-08-24T16:04:25.850 に答える