phonegap videoplayer-plugin経由でres/rawフォルダからmp4ビデオを再生する

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

       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);

ビデオは生のフォルダにあり、test.mp4という名前です。 コードは機能しません。

私はビデオのURLが正しくないと思いますか? 私はどんな助けにも非常に満足しています。

1

4 答え

私はしばらくこの1つと取り組んだ。 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); 
2
追加された
+1このソリューションは素晴らしい仕事。
追加された 著者 speedynomads,

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

これは

Android 1.5

APIレベル3

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

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

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

私が見た主な問題は、Appにrawフォルダのmp4ファイルを認識させるようにさせることでした

私はアンドロイド開発に新しいですが、これは私が助けてくれることを望んだことです。

私が「R.raw」とタイプした最初の行では、Eclipseはそれをエラーとして表示しました。私は期間を入力し、Eclipseにリソースの簡単なリストを表示することを期待しましたが、そこにはありませんでした。

私はプロジェクトをクリーンにする別の記事を読んで、リソースを特定したプロジェクトクリーンをクリックすると、リソースリストがリフレッシュされます。

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

お役に立てれば。

1
追加された

デフォルトの動画プレーヤーはこのパスを認識できないため、アプリケーションのプライベートパッケージからデフォルトの動画プレーヤーに動画を再生することはできません。

再生するには、このビデオファイルを sdcard にコピーしてから、そのファイルのURIを指定する必要があります。この場合、正常に動作します。

1
追加された
そのリンクでは、デバイスのデフォルトプレーヤーで再生しないで、ビデオビューを実装します。
追加された 著者 user370305,
どうもありがとう。私はこの記事を読んだ。 stackoverflow.com/questions/6813069/… そこであなたはresフォルダからビデオを再生できますか?
追加された 著者 user1065473,

上記のコード:

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

私のためにうまくいった!

MYPACKAGENAME =作業する完全なパッケージ名。私はここに分かりづらい。

1
追加された