对于我正在开发的PCL应用程序,我正在使用jamesmontemagno(Github Repo)的Xamarin Forms媒体插件。我主要使用插件通过设备的相机捕获照片,为此我使用的是TakeVideoAsync方法(Task<MediaFile> TakeVideoAsync(StoreVideoOptions options);
)。它返回一个[MediaFile][2]
对象。
我面临的问题是我需要将图像作为电子邮件附件发送。为此,我将实现一个“EmailSender”类,它将为每个目标平台提供不同的实现(我正在使用PCL方法)。现在我正在开发Windows Phone 8.1(Silverlight)实现。我想使用Windows.ApplicationModel.Email.EmailManager
发送Windows.ApplicationModel.Email.EmailMessage
。可以在this Stackoverflow answer中看到示例实现(请参阅“ComposeEmail”方法)。
我需要帮助:
我想找到一种方法来检索图像文件(可能是一个StorageFile或RandomAccessStream),以便从中创建一个EmailAttachment对象。从媒体插件中的MediaFile
方法返回的TakeVideoAsync
我可以获得System.IO.Stream
,但我没有找到任何方法将其转换为RandomAccessStream
我的Xamarin Windows Phone 8.1的.NET版本的功能
非常感谢所有建议。
答案 0 :(得分:0)
Windows Phone 8.1中的Stream对象在System.Runtime.WindowsRuntime库中具有.AsRandomStream()扩展方法。 IRandomStream在同一个lib中有一个.ToStream()扩展方法。您还可以使用创建新的RandomStream IRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream(); 希望有所帮助。