浅谈midi与cocos的交互
来源:互联网 发布:天津关键字优化公司 编辑:程序博客网 时间:2024/06/05 03:13
最近在做智能钢琴。
听说公司抱上了海伦的大腿,整个cocos的游戏部分都得我来做,压力还是蛮大的。
IOS原生那边已经把midi通信写好的, 但是是oc的底层,做混编比较困难。
所以只能找到了一个C++的库,下面我来说下midi通信的基本要点。
平台
对于不同平台的midi通信的机制是完全不同的。
注意这是个深坑,所以你没法用win底层的midi通信去和ios搞对接。
win下是用的winmm.lib这个类库
Ios以及mac下都是用的自带的coremidi这个库
android用的什么库我还不清楚,主要不做android机
方法
其实方法也不多,就两种。
1.结合oc库做混编
2.找个C++跨平台的库
其实这两种我都试过,而且都成功了。
这里我推荐两个库
1.ios :https://github.com/mixedinkey-opensource/MIKMIDI
2.跨平台 :https://github.com/thestk/rtmidi
做混编呢,就是两个代码都得熟悉下,这个是先决条件。
重点讲下Rtmidi.其实他是不支持IOS,
他是支持Macintosh OS X,所以我在这个基础上重写了底层的一些方法,然后删除了一点Macintosh OS X里面的东西。
Rtmidi的回调函数对于cocos也有点问题,他的回调是个异步方法,在我封装model层时发现某些问题,所以我也用观察者模式从新对回调函数进行封装。
本来想用线程去做异步发送消息,但是后来尝试失败,只能用容器去管理,来实现异步的加载(这里具体功能是实现了,但是整个原理我自己还比较懵,属于运气好,试出来了)
0 0
- 浅谈midi与cocos的交互
- netty与cocos creator交互
- C# 与电子琴交互示例(Midi通讯)
- 浅谈JSP与数据库的交互
- 浅谈UIWebView与JavaScript交互
- 浅谈iOS与JS交互
- Ajax概述及浅谈其与服务器的交互过程
- JavaScript :浅谈 iOS 与 H5 的交互- JavaScriptCore 框架
- 2.4电子音乐与MIDI
- 浅谈交互设计师的未来
- MIDI的播放
- 关于Midi的疑问
- cocos2dx 3.3 cocos studio的交互性问题
- (cocos笔记) C++ lua 交互 ValueVector的一个坑
- 浅谈web前端与后台数据交互
- MIDI
- MIDI
- MIDI
- C# partial 详解
- hibernate hbm property access属性
- Oracle中group by子句中cube的使用
- 2016之handler机制
- 针对list里对象属性的排序问题
- 浅谈midi与cocos的交互
- 【Hibernate】映射关系总结
- 文章标题
- 【LeetCode-74】Search a 2D Matrix
- java 的小问题 多人打水
- 网易实习,任意n个数组合求最大
- 【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
- 用 xib / Storyboard 创建 UITableView 的 header 和 footer
- xilinx器件硬件特性