使用 Multipeer Connectivity wifi/蓝牙发送 UISlider 值

Posted

技术标签:

【中文标题】使用 Multipeer Connectivity wifi/蓝牙发送 UISlider 值【英文标题】:send UISlider values using Multipeer Connectivity wifi/bluetooth 【发布时间】:2014-04-08 03:01:06 【问题描述】:

我开始创建音乐制作应用程序,Multipeer Connectivity 可以派上用场!!!

我可以在两个 iDevice 之间建立连接。但我的目标是将 UISlider 值从一台设备发送到另一台设备,然后它们将直接进入我在主机设备上的声音引擎。

我应该使用 NSStream 还是只发送 NSData(可能使用 MCSessionSendDataUnreliable)? 如果 NSData 那么什么时候呢?我应该为 UIControlEventValueChanged 附加一个选择器???

我目前在这一项任务中遇到了所有问题...

多人连接框架看起来很棒,我想很多人都可以使用它

【问题讨论】:

你的项目有链接吗?我可以看看,因为我这里有一些设备,我可以将我的代码合并到我的其他连接项目中,看看我是否可以快速为你设置 UISlider 值等? YES plz... 我做了一个可以在任何设备上运行的快速项目:github.com/DanMoore24/WirelesSlider 这个项目和你现在的项目有什么区别?我很困惑。 没有区别。我拿出了所有的 CoreAudio 和一堆 VC 【参考方案1】:

你所有的想法都是正确的。 NSStreamNSData 之间的选择将归结为 滑块的更新频率。由于您将进行音乐制作,因此时间同步至关重要(尤其是在您使用 MIDI 执行任何任务时)。

如果时间和延迟确实是一个因素,我建议使用NSStream 路由,然后通过该流路由所有数据包。您可以使用NSData 轻松实现此想法,然后确定延迟是否存在问题。

您需要做的大致是将要传输的数据打包为NSData,然后通过网络发送。您有两个选择:您可以创建 C 结构并从指向这些结构的指针初始化数据。或者您可以创建一个符合NSSecureCoding 协议的NSObject 子类。然后使用NSKeyedArchiverNSKeyedUnarchiver 将类转换为NSData

【讨论】:

以上是关于使用 Multipeer Connectivity wifi/蓝牙发送 UISlider 值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用swift 4查看Multipeer Connectivity框架中的MCBrowserViewController

swift Multipeer Connectivity,使用邀请处理程序取消邀请

Multipeer Connectivity 自动静默连接

如何使用 Multipeer Connectivity 框架邀请用户加入我的会话?

使用 Multipeer Connectivity wifi/蓝牙发送 UISlider 值

如何检测 Multipeer Connectivity 邀请的拒绝?