首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows phone 8中流式传输的StreamSocket

windows phone 8中流式传输的StreamSocket
EN

Stack Overflow用户
提问于 2013-07-15 10:32:10
回答 1查看 1.8K关注 0票数 0

我正在尝试使用WP8中的蓝牙从我的设备上的应用程序发送图像,并在另一台设备上的应用程序中显示它。接收器有一个StreamSocket对象来读取数据,如下面的代码所示

代码语言:javascript
复制
await _dataReader.LoadAsync(4);
uint messageLen = (uint)_dataReader.ReadInt32();
await _dataReader.LoadAsync(messageLen);
string imageData _dataReader.ReadString(messageLen);

然后,我必须将所有接收到的数据(图像)保存在设备上,然后从存储的数据创建一个流对象,将其提供给BitmapSource.SetSource(流)函数,以便能够在我的应用程序上显示此图像。

代码语言:javascript
复制
var image = new BitmapImage();
image.SetSource(stream);

我所要做的就是不跳过这双重工作,直接将StreamSocket对象(从蓝牙连接)转换为Stream对象并生成BitmapSource图像。有没有办法做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-15 17:12:13

Yo可以将接收到的数据存储在byte[]缓冲区中,然后从它创建流。尝试以下操作:

代码语言:javascript
复制
    await _dataReader.LoadAsync(4); 
    uint messageLen = (uint)_dataReader.ReadInt32();
    await _dataReader.LoadAsync(messageLen); 
    byte[] buffer = new byte[messageLen];
    _dataReader.ReadBytes(buffer);
    MemoryStream ms = new MemoryStream(buffer);
    var image = new BitmapImage();
    image.SetSource(ms);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17645954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档