2016-07-05 1 views
0

Pour une application PCL je développe le plugin média pour Xamarin Forms de jamesmontemagno (Github Repo). J'utilise principalement le plugin pour capturer des photos à travers l'appareil photo de l'appareil, pour cela j'utilise la méthode TakeVideoAsync (Task<MediaFile> TakeVideoAsync(StoreVideoOptions options);). Il renvoie un objet [MediaFile][2].Xamarin Forms Media Plugin, Récupère le flux ou StorageFile depuis MediaFile

Le problème auquel je fais face est que je dois envoyer l'image en pièce jointe. Pour cela, je vais implémenter une classe "EmailSender" qui aura des implémentations différentes pour chaque plateforme cible (j'utilise l'approche PCL). En ce moment je travaille sur une implémentation Windows Phone 8.1 (Silverlight). Je voudrais utiliser Windows.ApplicationModel.Email.EmailManager pour envoyer un Windows.ApplicationModel.Email.EmailMessage. Un exemple d'implémentation peut être vu dans this Stackoverflow answer (Regardez la méthode "ComposeEmail").


Ce que je besoin d'aide avec: Je veux trouver un moyen de récupérer le fichier d'image (peut-être soit en tant que StorageFile ou RandomAccessStream) afin de faire un objet EmailAttachment de celui-ci. De l'MediaFile retourné par la méthode TakeVideoAsync dans le plugin média que je peux obtenir un System.IO.Stream, mais je ne l'ai pas trouvé aucun moyen de le convertir en un RandomAccessStream avec la fonctionnalité de la version .NET mon Xamarin Windows Phone 8.1

Tous Les suggestions seront très appréciées.

Répondre

0

Un objet Stream dans Windows Phone 8.1 a une méthode d'extension .AsRandomStream() dans la bibliothèque System.Runtime.WindowsRuntime. IRandomStream a une méthode d'extension .ToStream() dans la même bibliothèque. Vous pouvez également créer un nouveau RandomStream avec IRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream(); Espérons que cela aide.