2017-06-22 3 views
0

die URI für die Datei-Assets-Ordner zu finden habe ich ein Video in Ordnern Assets von androidWie Xamarin

Assets/LanguageResource/MyVideo.mp4 
platziert

Wie die URI für die Asset-Datei finden

private void startVideo() 
     { 
      //Creating MediaController 
      mediaController = new MediaController(this); 
      mediaController.SetAnchorView(video); 
      video.SetMediaController(mediaController); 
      video.SetVideoURI(uri); 
      video.RequestFocus(); 
      video.Start(); 
     } 
+0

Für den Ordner Ressourcen ist es nur der Name und Xamarin wird es selbst finden. Probieren Sie "MyVideo.mp4" als Pfad aus, vielleicht auch für Assets. –

Antwort

0

können Sie in der Lage, eine Datei von AssetManager von Android zu finden und einen Strom von Dateien direkt zu erhalten.

wie var br = new Binary (Application.Context.Assets.Open ("LanguageResource/MyVideo.mp4");

1

Die URL für die Asset-Datei wie folgt sein sollte: file:///android_asset/one.mp4

.

Und Sie können die AbsolutePath der Datei beispielsweise wie folgt erhalten:

var file = new File(Android.Net.Uri.Parse("file:///android_asset/one.mp4").ToString()); 
var uri = file.AbsolutePath; 

und Vermögenswerte zu Ihrem Projekt hinzugefügt wird sich zeigen wie ein Dateisystem, das kann von App mit AssetManager lesen. Wenn Sie auf den Stream dieser Datei zugreifen möchten, können Sie das offizielle Dokument wie folgt überprüfen: Using Android Assets.

Edit:

Sorry, Problem ist, dass wir nicht Video von Vermögenswerten Ordner spielen können, müssen Sie es aus raw/Ressourcenordner laden.

+0

Immer noch Datei nicht gefunden Ausnahme, Ressource ist auch als Android Asset markiert. – Devrath

+0

@Devrath, bist du sicher, dass die Build-Aktion deines Videos "AndroidAsset" ist? Seltsame Sache, ich habe diesen Code getestet. –

+0

@Devrath, o, sorry, ich habe das Problem gefunden, die Datei kann mit dieser URL gefunden werden, Problem ist, dass das Abspielen der MP4-Datei von \ Assets nicht möglich ist, müssen Sie es aus \ Raw-Ordner laden. Ich muss meine Antwort bearbeiten. –