1

phonegapを使用してrawフォルダーからビデオを再生しようとしています。元のプラグインを少し変更しました。これはコードです:

       Uri uri = Uri.parse( "android.resource://" + getPackageName() + "/raw/"+R.raw.test);
    // Uri uri = Uri.parse("http://www.test.sociato.de/test.mp4");

    Intent intent = null;
        // Display video player
        intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(uri, "video/*");

    this.ctx.startActivity(intent);

ビデオは raw フォルダーにあり、test.mp4 という名前が付けられています。コードが機能しません。

ビデオの URL が間違っていると思いますか? どんなお役に立てば幸いです。

4

4 に答える 4

2

私はしばらくこれと格闘しました。Android リソースからビデオを再生できる唯一の方法は、最初に SD カードにコピーすることでした。これが私のコードです:

File sdCard = Environment.getExternalStorageDirectory(); 

File dir = new File (sdCard.getAbsolutePath() + "/myfolder");
if(dir.isDirectory() != true) {
dir.mkdirs();

InputStream ins = getResources().openRawResource(R.raw.myvid);
int size = ins.available();
// Read the entire resource into a local byte buffer.
byte[] buffer = new byte[size];
ins.read(buffer);
ins.close();
FileOutputStream fos = new FileOutputStream(new File(dir, "myvid.m4v"));
fos.write(buffer);
fos.close(); 
}

File myvid = new File(dir, "myvid.m4v");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(myvid), "video/*");  
this.startActivity(intent); 
于 2011-12-19T03:18:56.863 に答える
1

アプリのプライベート パッケージからデフォルトのビデオ プレーヤーにビデオを再生できないと思います。デフォルトのビデオ プレーヤーがこのパスを認識できないためです。

再生するにはcopy this video file in sdcard、そのファイルの URI を指定する必要があります。この場合、正常に動作します。

于 2011-11-25T11:04:11.557 に答える
-1

そのリソースから res/raw フォルダーに直接読み込んだビデオ ファイルを正常に再生しました。

これはで行われました

アンドロイド 1.5

API レベル 3

ファイル サイズが 50M 未満でした

私のコードスニペットは次のとおりです

        Uri video= Uri.parse("android.resource://MYPACKAGENAME/" + R.raw.presence); 
    videoView.setMediaController(mediaController);
        videoView.setVideoURI(video);
        videoView.start();

私が見た主な問題は、アプリが raw フォルダー内の mp4 ファイルを認識できるようにすることでした。

私はアンドロイド開発に不慣れですが、これが私がしたことです。

最初の行で「R.raw」と入力すると、Eclipse はそれをエラーとして表示しました。ピリオドを入力すると、Eclipse がリソースのクイック リストを表示することを期待していましたが、表示されませんでした。

プロジェクトをクリーンアップするために別の投稿を読んだところ、[プロジェクト - クリーンアップ] をクリックするとリソース リストが更新され、リソースが特定されました。

私が必要だと思うもう 1 つのことは、ファイル名は小文字のみでなければならないということです。大文字と小文字が混在していると、表示されませんでした。

お役に立てれば。

于 2012-02-17T03:32:38.450 に答える