2010-08-31 3 views
18

Я могу играть видео из Интернета, вставив URL, как показано ниже:Попытка воспроизведения видео из необработанной папки (VideoView)

mPath = Uri.parse("http://commonsware.com/misc/test2.3gp"); 
mVid.setVideoURI(mPath); 
mVid.requestFocus(); 
mVid.start(); 

Но теперь у меня есть видео в моей сырой папке, поэтому путь разрешение /raw/testing.3gp. Код ниже не работает, и я пробовал другие способы, но безрезультатно.

mPath = Uri.parse("../../res/raw/testing.3gp"); 

Любые предложения?

+1

ОК ... Я нашел код, который у меня работал с другим видео, но он не работает сейчас. mPath \t = Uri.parse ("android: resource: //com.example.wordweather/" + R.raw.scott); – taraloca

+0

Возможный дубликат [Как воспроизводить видео в android из папки с ресурсами или исходной папки?] (Http://stackoverflow.com/questions/3028717/how-to-play-videos-in-android-from-assets-folder- или-raw-folder) –

ответ

32

У меня была та же проблема. Это работает для меня:

Uri video = Uri.parse("android.resource://com.pac.myapp/raw/master"); 

Итак, как вы видите, у вас есть 3 части УИР: 1) "android.resource: //" 2) "com.pac.myapp" 3) «/ сырье/мастер»

„мастер“это имя вашего видео

+0

Хотел бы я отметить это как правильный ответ. Это мне очень помогло! Спасибо. – dfetter88

+13

Это не сработало для меня .. У меня страшное «это видео не может быть воспроизведено ошибкой». Однако работа была Uri url = Uri.parse («android.resource: //com.calvium.myApp/» + R.raw.video); (где мой видео ресурс назывался «video.3gp». –

+0

Это решение сработало для меня. Однако я с подозрением отношусь к нему, работая над любыми другими версиями/устройствами ОС - то есть, было много людей, которые сообщили «R.raw . * ". Может ли кто-нибудь уточнить, чего можно ожидать от VideoView? – JakeP

6

это работает для меня

String videoName = nameWithoutFileExtention; 

int id = getResources().getIdentifier(videoName, "raw", getActivity().getPackageName()); 

final String path = "android.resource://" + getActivity().getPackageName() + "/" + id; 

vvBgVideo.setVideoURI(Uri.parse(path)); 
0

Вам просто нужно найти песню в необработанном папку в папке ресурсов. если это ссылка, то

private String urlVideo ="http://www.pocketjourney.com/downloads/pj/video/famous.3gp"; 

    //Make uri from song located in raw folder 
     Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" 
       + R.raw.shakebooty); 
     player.setUpVideoFrom(uri.toString()); 

     public void setUpVideoFrom(String source) throws IllegalArgumentException, 
       IllegalStateException, IOException { 

      mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 

//Only to check if you want to play song from url 
      if (source.contains("http")) 
      { 
      mPlayer.setDataSource(source); 
      } 
//If want to play song from uri you created from song in raw folder 
     else { 
      mPlayer.setDataSource(ctx, source); 
      } 

     } 

Наслаждайтесь игрой видео с учетом поверхности

1
public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Button btn=(Button)this.findViewById(R.id.playvideo); 
     btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       VideoView vid=(VideoView)findViewById(R.id.video); 
       vid.setMediaController(new MediaController(MainActivity.this)); 
       Uri video = Uri.parse("android.resource://com.example.tenzinthinley.video/raw/ed"); 
       vid.setVideoURI(video); 
       vid.requestFocus(); 
       vid.start(); 
      } 
     }); 
    } 
} 

Измените свое имя, если это не работает. 'ed' - это имя видеофайла.

Смежные вопросы