使用 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】:你所有的想法都是正确的。 NSStream
和 NSData
之间的选择将归结为 滑块的更新频率。由于您将进行音乐制作,因此时间同步至关重要(尤其是在您使用 MIDI 执行任何任务时)。
如果时间和延迟确实是一个因素,我建议使用NSStream
路由,然后通过该流路由所有数据包。您可以使用NSData
轻松实现此想法,然后确定延迟是否存在问题。
您需要做的大致是将要传输的数据打包为NSData
,然后通过网络发送。您有两个选择:您可以创建 C 结构并从指向这些结构的指针初始化数据。或者您可以创建一个符合NSSecureCoding
协议的NSObject
子类。然后使用NSKeyedArchiver
和NSKeyedUnarchiver
将类转换为NSData
。
【讨论】:
以上是关于使用 Multipeer Connectivity wifi/蓝牙发送 UISlider 值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用swift 4查看Multipeer Connectivity框架中的MCBrowserViewController
swift Multipeer Connectivity,使用邀请处理程序取消邀请
如何使用 Multipeer Connectivity 框架邀请用户加入我的会话?