2012-06-03 2 views
14

stavo creando una semplice applicazione che lo streaming video da rete e l'ho fatta, ma ora voglio cambiare il codice in modo che possa riprodurre file video dal mio SDCardCome riprodurre i video dalla scheda SD

codice originale:

Uri vidFile = Uri.parse("MY SITE HERE"); 
VideoView videoView = (VideoView) findViewById(R.id.VideoView); 
videoView.setVideoURI(vidFile); 
videoView.setMediaController(new MediaController(this)); 
videoView.start(); 

Quindi, per favore aiutatemi a cambiare il codice in modo che possa riprodurre video dalla mia scheda di memoria mobile.

risposta

11

Il metodo videoView.setVideoURI(vidFile); deve essere sostituito con il metodo videoView.setVideoPath(path);. Qui percorso specifica il percorso del file video su SDCARD.

Questo percorso può essere facilmente recuperato utilizzando la proprietà MediaStore.Video.Media.DATA di quel file video o semplicemente inserendo staticpath come /sdcard/songname.

+0

hey Uri vidFile = Uri.parse ("IL MIO SITO QUI "); correggimi se sbaglio, ma non c'è bisogno di questo, quindi dovrei eliminarlo? – Mohit

+0

sì, dovresti. è inutile a meno che non sia lo streaming remoto. –

+0

btw riprodurrà solo file .3gp o dipende dai formati supportati dal mio cellulare? – Mohit

1

Al posto di

videoView.setVideoUri(vidFile)

uso

videoView.setVideoPath("/sdcard/SONG.").

Fammi sapere.

5
Uri vidFile = Uri.parse(
    Environment.getExternalStorageDirectory().getAbsolutePath()+"filename"); 
... 

il resto del codice sarà lo stesso.

+0

ha un nome file per un file video specifico, cosa succede se voglio selezionare da un elenco, come riprodurre il file video SELEZIONATO? – Mohit

+0

il codice di esempio sopra presuppone che il file si trovi a livello di root .. è possibile aggiungere /path/filename.mp4 al percorso restituito da 'getabsolutePath()' – Ronnie

0

Ho anche provato il codice e ho ricevuto lo stesso messaggio di errore ma quando ho provato con il percorso video senza spazio vuoto nel percorso o nel nome, ha funzionato bene. Basta fare un tentativo. percorso file "/ mnt/sdcard/Movies/Long Drive Song - Khiladi 786 ft. Akshay Kumar_Asin-YouTube.mp4" ha dato l'errore ma il percorso del file "/mnt/sdcard/Movies/Khiladi.mp4" ha funzionato bene .