2013-07-01 11 views
32

Sto lavorando all'applicazione video player, voglio riprodurre il video .mp4 nella videoview nativa. Sono non in grado a giocarevideo utilizzando url. Mi viene visualizzato l'errore Spiacente questo video non può essere riprodotto e anche io sono non in grado a riprodurre video scaricati in videoview nativo.Come riprodurre video .mp4 in videoview in Android?

Il mio codice per la riproduzione di video nel VideoView:

String mUrl = "http://www.servername.com/projects/projectname/videos/1361439400.mp4"; 

VideoView mVideoView = (VideoView)findViewById(R.id.videoview) 
videoMediaController = new MediaController(this); 
mVideoView.setVideoPath(mUrl); 
videoMediaController.setMediaPlayer(mVideoView); 
mVideoView.setMediaController(videoMediaController); 
mVideoView.requestFocus(); 
mVideoView.start(); 

Gentilmente condividere le tue idee per lo stesso.

Grazie.

+1

Ho affrontato lo stesso problema che ho provato molte volte ma non riesco a trovare una soluzione, per favore aiutatemi .. grazie –

+0

È probabile che quella particolare codifica mp4 non sia supportata. Ho risposto in una risposta separata. Per provare puoi provare un altro mp4, ad esempio questo funziona per me: http://archive.org/download/Pbtestfilemp4videotestmp4/video_test.mp4 –

+0

io faccio lo stesso, ma ancora non posso giocare.video mp4 08-12 14: 37: 30.599: D/MediaPlayer (23633): impossibile aprire il file sul lato client, provando sul lato server 08-12 14: 37: 33.095: E/MediaPlayer (23633): errore (1, -2147483648) 08-12 14: 37: 33,096: E/MediaPlayer (23633): Errore (1, -2147483648) 08-12 14: 37: 33,096: D/VideoView (23633): Errore: 1 , -2147483648 ha ottenuto questo errore –

risposta

12

Infine funziona per me.

private VideoView videoView; 

videoView = (VideoView) findViewById(R.id.videoView); 

Uri video = Uri.parse("http://www.servername.com/projects/projectname/videos/1361439400.mp4"); 
videoView.setVideoURI(video); 
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
    @Override  
    public void onPrepared(MediaPlayer mp) { 
     mp.setLooping(true); 
     videoView.start(); 
    } 
}); 

Spero che questo aiuti gli altri.

+0

cos'è mp in sopra snippet ?? –

+0

È un oggetto del lettore multimediale. –

+0

ho provato lo stesso codice ma alcuni mp4 non funzionano. –

26

MP4 è solo un contenitore: il flusso video e audio al suo interno sarà codificato in diversi formati.

Android supporta solo nativamente determinati tipi di formati. This is the list here.

Assicurarsi che il tipo di codifica video e audio sia supportato. Solo perché dice "mp4" non significa automaticamente che dovrebbe essere riproducibile.

+1

così, come sapere/impostare la tecnica di codifica video –

16

Uso Ti piace questa:

Uri uri = Uri.parse(URL); //Declare your url here. 

VideoView mVideoView = (VideoView)findViewById(R.id.videoview) 
mVideoView.setMediaController(new MediaController(this));  
mVideoView.setVideoURI(uri); 
mVideoView.requestFocus(); 
mVideoView.start(); 

Un altro metodo:

String LINK = "type_here_the_link"; 
    VideoView mVideoView = (VideoView) findViewById(R.id.videoview); 
    MediaController mc = new MediaController(this); 
    mc.setAnchorView(videoView); 
    mc.setMediaPlayer(videoView); 
    Uri video = Uri.parse(LINK); 
    mVideoView.setMediaController(mc); 
    mVideoView.setVideoURI(video); 
    mVideoView.start(); 

Se hai trovato questo errore Couldn't open file on client side, trying server side Error in Android. e anche Refer this. Spero che questo ti dia una soluzione.

+1

io faccio lo stesso, ma non riesco a riprodurre .mp4 video 08-12 14: 37: 30.599: D/MediaPlayer (23633): Couldn ' t aprire il file sul lato client, provando sul lato server 08-12 14: 37: 33.095: E/MediaPlayer (23633): errore (1, -2147483648) 08-12 14: 37: 33.096: E/MediaPlayer (23633): Errore (1, -2147483648) 08-12 14: 37: 33.096: D/VideoView (23633): Errore: 1, -2147483648 ha ottenuto questo errore –

+10

Errore msg "Impossibile riprodurre questo video" – Prasad

+0

Grazie, ha funzionato per me ... –

4

Controllare il formato del video che si sta visualizzando. Rendering di formato mp4 iniziato dal livello di API 11 e il formato deve essere MP4 (H.264)

ho incontrato lo stesso problema, ho dovuto convertire il mio video in molti formati prima mi ha colpito il formato: Usa video totale convertitore per convertire il video in mp4. Esso funziona magicamente.

+0

Si prega di spiegare perché questo funzionerebbe –

+0

Incontro lo stesso problema che devo convertire il mio video in molti formati prima di colpire il formato: utilizzare totale convertitore video per convertire il video in mp4. fidati di me funziona come il fascino – Michael

+0

secondo il documentario Android mp4 è supportato solo dal livello API 11 (Gingerbread) – Michael

1

Non sono sicuro che sia il problema, ma ciò che ha funzionato per me sta chiamando mVideoView.start();all'interno di il callback dell'evento mVideoView.setOnPreparedListener.

Ad esempio:

Uri uriVideo = Uri.parse(<your link here>); 

MediaController mediaController = new MediaController(mContext); 
mediaController.setAnchorView(mVideoView); 
mVideoView.setMediaController(mediaController); 
mVideoView.setVideoURI(uriVideo); 
mVideoView.requestFocus(); 

mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() 
{ 
    @Override 
    public void onPrepared(MediaPlayer mp) 
    { 
      mVideoViewPeekItem.start(); 
    } 
}); 
Problemi correlati