Come giocare un video locale dalla cartella risorse

Lo sto cercando per più di una settimana, e non sono ancora in grado di farlo.

Voglio solo giocare un video di 2 secondi di durata come un intro di spruzzatura per la mia applicazione, quindi non è ansible utilizzare le tabs SD e le soluzioni di streaming di URL. Vorrei mettere il file video mp4 nella cartella / res / raw (per esempio) e riprodurlo, a schermo integer, nessun controller di media … non dovrebbe essere così difficile !!!

  • Aggiungere il layout personalizzato alla barra degli strumenti
  • Rileva se un'applicazione è stata avviata / ripresa dall'esterno dell'app
  • È bene call findViewById each volta nel ciclo di vita dell'attività se necessario?
  • programma di esempio sqlite in android
  • Dipendenze di Gradle sull'Unità
  • Rendering di Android Studio quando viene aggiunto ScrollView
  • Ho già codificato il mio video seguendo le raccomandazioni di Android (ho provato anche più) in http://developer.android.com/guide/appendix/media-formats.html#core

    Ho provato molte soluzioni diverse, come quelle successive, che dovrebbero funzionare:

    VideoView videoHolder = (VideoView) this.findViewById(R.id.videoView1); videoHolder.setMediaController(new MediaController(this)); Uri uri = Uri.parse("android.resource://mysite/raw/" + R.raw.intro__video); videoHolder.setVideoURI(uri); videoHolder.start(); 

    Ho provato diversi indirizzi URI, penso che il problema non sia presente. Ho provato emulatori 1.6, 2.1 e 2.33. Ho provato in tre diversi dispositivi reali.

    Non so cosa provare adesso. Ci sono molte domande simili in StackOverflow, ma ben poche risposte. Le risposte usate riguardano la collocazione del video sulla scheda SD (non situabile per me), ma la maggior parte dei thread non è risposto dall'autore, quindi non sappiamo se finalmente è riuscito a farlo.

    Grazie mille in anticipo. Forse questa volta potremmo rispondere a questa domanda una volta per tutte 🙂

    EDIT La maggior parte delle volte che il dispositivo mantiene semplicemente il nero, il video non viene riprodotto. Per alcune delle codifiche provate, il dispositivo mostra una window di errore che dice "questo video non può essere riprodotto". Se il file video sarebbe il problema (non credo, perché ho provato un sacco di formati, risoluzioni e codifiche differenti), ti prego di inviarmi un file video provato affinché sia ​​in grado di verificare se il problema è proprio questo …

    One Solution collect form web for “Come giocare un video locale dalla cartella risorse”

    Non credo che tu sta costruendo correttamente l'URI. Prova questo:

     Uri uri = Uri.parse("android.resource://mysite/" + R.raw.intro__video); 

    o questo:

     Uri uri = Uri.parse("android.resource://mysite/raw/intro__video"); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.