2017-02-05 5 views
3

ich ein Video von Firebase-Speicher mit einem Videoview wie das ich versuche spielen möchten:Load Video von Firebase Storage Videoview

storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() { 
        @Override 
        public void onSuccess(Uri uri) { 
         //Toast.makeText(Chat.this, uri.toString(), Toast.LENGTH_SHORT).show(); 
         MediaController mc = new MediaController(Chat.this); 
         videoView.setMediaController(mc); 
         videoView.setVideoURI(uri); 
         videoView.requestFocus(); 
         //videoView.start(); 
        } 
       }); 

Aber es zu spielen pflegt. Das Video ist leer.

+0

Werfen Sie einen Blick auf: http://StackOverflow.com/Questions/37865482/FireBase-Speicher-Video-Streaming – RamithDR

+0

@RamithDR Ich möchte nicht Video-Streaming nur Video vom Speicher nach VideoView –

+0

Was ist der Wert von ' SpeicherReferenz'? Und was ist das Videoformat? –

Antwort

5

Stellen Sie zunächst sicher, dass das Video in Storage tatsächlich in einem Format ist, das Android-Geräte wiedergeben können. VideoView kann nicht alles abspielen - nur die types of videos that Android supports.

Was Sie jetzt tun, indem Sie die uri direkt in die VideoView übergeben, wird als Versuch interpretiert, das Video von der angegebenen uri zu streamen. Firebase Storage unterstützt kein Video-Streaming, daher funktioniert das nicht. Streaming von einem URI erfordert, dass der Server am anderen Ende in der Lage ist, die angegebene Ressource zu streamen.

Wenn Sie ein Video aus dem Speicher wiedergeben möchten, müssen Sie zuerst gesamt herunterladen, in einer lokalen Datei speichern und dann das VideoView auf die lokale Datei zur Wiedergabe richten.

+0

Ich bin Biene, die nach Lösung für die letzten zwei Tage sucht und einen Hinweis hier erhielt . Großer Applaus für diese Aussage ** Firebase Storage unterstützt kein Video-Streaming, daher funktioniert das nicht. ** Wie Sie oben erwähnt haben, habe ich die Dateien erfolgreich von Firebase Storage auf meinen mobilen Speicher heruntergeladen. Nun, die Frage ist, dass ich auch einen Adapter habe. Wo stelle ich den Pfad des lokalen Speichers auf die 'VideoView' ein. 'Hauptaktivität'? oder mein 'MessageAdapter'? Kannst du bitte in [Post] (https://stackoverflow.com/q/44447813/7004388) schauen. Bitte führen Sie mich. – Chip

+0

funktioniert es, wenn Sie einen anderen Video-Player als videoView verwenden! Genau wie Exo-Spieler .. –