2010-08-31 8 views
18

puedo reproducir un vídeo a través de Internet mediante la inserción de la URL, como a continuación:intentando reproducir vídeo desde la carpeta en bruto (VideoView)

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

Pero ahora tengo un video en mi carpeta de prima por lo que el camino es res /raw/testing.3gp. El siguiente código no funciona, y he intentado de otras maneras también en vano.

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

¿Alguna sugerencia?

+1

bien ... Encontré el código que tenía antes trabajando con diferentes videos, pero no está funcionando ahora. mPath \t = Uri.parse ("android: resource: //com.example.wordweather/" + R.raw.scott); – taraloca

+0

Posible duplicado de [¿Cómo reproducir videos en Android desde la carpeta de activos o la carpeta sin procesar?] (Http://stackoverflow.com/questions/3028717/how-to-play-videos-in-android-from-assets-folder- or-raw-folder) –

Respuesta

32

Tuve el mismo problema. Esto funcionó para mí:

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

Así que como veo que tiene 3 partes de la URI: 1) "android.resource: //" 2) "com.pac.myapp" 3) "/ prima/maestro"

'maestro' es el nombre de su vídeo

+0

Ojalá pudiera marcar esto como la respuesta correcta. ¡Esto me ayudó mucho! Gracias. – dfetter88

+13

Eso no funcionó para mí .. Tengo el temido 'este video no se pudo reproducir el error'. Sin embargo, lo que funcionó fue Uri url = Uri.parse ("android.resource: //com.calvium.myApp/" + R.raw.video); (donde mi recurso de video se llamaba 'video.3gp'. –

+0

Esta solución funcionó para mí. Sin embargo, sospecho que funciona en cualquier otra versión/dispositivo del sistema operativo, es decir, ha habido mucha gente que informó sobre el "R.raw . * "versión para estar trabajando en su lugar. ¿Puede alguien explicar qué se puede esperar de VideoView? – JakeP

6

esto funciona para mí

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

Sólo tiene que localizar canción en la carpeta prima en la carpeta de recursos. si es que acceder a la

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

     } 

disfrutar jugando de vídeo en vista de la superficie

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

Cambiar mi nombre si esto no funciona. 'ed' es el nombre del archivo de video.

Cuestiones relacionadas