Воспроизведение видео в формате mp4 из папки res / raw через phonegap videoplayer-plugin - PullRequest
1 голос
/ 25 ноября 2011

я пытаюсь воспроизвести видео из папки raw с помощью 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 к видео не правильный?Я был бы очень рад любой помощи.

Ответы [ 4 ]

2 голосов
/ 19 декабря 2011

Я боролся с этим некоторое время.Единственный способ воспроизвести видео с ресурса 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); 
1 голос
/ 25 ноября 2011

Я думаю, что вы не можете воспроизводить видео из частного пакета приложения в видеоплеер по умолчанию, поскольку ваш видеоплеер по умолчанию не может распознать этот путь.

Чтобы он воспроизводился, вам нужно copy this video file in sdcard, а затем указать URI этого файла, в этом случае он работает нормально.

0 голосов
/ 24 мая 2014

Этот код сверху:

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

отлично сработало для меня!

MYPACKAGENAME = полное имя пакета для работы. Я застрял здесь на минуту.

0 голосов
/ 17 февраля 2012

Я успешно воспроизвел видеофайл, загруженный в папку res / raw непосредственно с этого ресурса.

Это было сделано на

Android 1.5

Уровень API3

Размер файла был ниже 50M

Мой фрагмент кода выглядит следующим образом

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

Основная проблема, с которой я столкнулся, заключалась в том, чтобы приложение распознало файл mp4 вraw folder

Я новичок в разработке для Android, но это то, что я сделал, надеюсь, это поможет.

В первой строке, когда я набрал "R.raw", Eclipse показал это как ошибку Iнабрал период и ожидал, что Eclipse покажет мне быстрый список ресурсов, но его там не было.

Я прочитал в другом посте, чтобы очистить проект, и список ресурсов будет обновлен, когда я нажму PROJECT - CLEAN, ресурс был идентифицирован.

Еще одна вещь, которую я считаю необходимой, это то, что имя файла ДОЛЖНО быть только строчным.Когда это было в смешанном случае, это не показывалось бы.

Надеюсь, это поможет.

...