• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

XMIDI 2.0: XMIDI是一款IOS上的MIDI播放引擎。

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

XMIDI 2.0

开源软件地址:

https://gitee.com/lugia/XMIDI-2.0

开源软件介绍:

#XMIDI###简介

XMIDI是一款IOS上的MIDI文件播放引擎。 	2.0版本与之前1.0相比最大的变化在于播放模式的变更,由原来的OpenAL改为了AudioUnit。2.0版本支持多种乐器,可以自己定义和添加乐器。本引擎使用OC编写,项目示例为Swift语言。使用上有问题可以联系我。邮件:[email protected]QQ:56809958    交流群:334533178

###更新履历####2015-07-09

1.更新2.1,增加播放控制方法。

    //Midi当前标准时间点(秒)(标准时间)    @property (nonatomic) float timeStamp;    //跳转到某个音符开始播放    -(void)gotoNoteByTrackIndex:(int)trackIndex NodeIndex:(int)noteIndex;

####2015-05-22

1.初次版本发布。

###使用方法####1.初始化API

    //初始化。    XMidiPlayer.xInit()

####2.资源释放API

    //资源释放。    XMidiPlayer.xDispose()

####3.播放MIDI示例

    //读取文件    var filePath = NSBundle.mainBundle().pathForResource("midiFileName", ofType: "mid")    //根据URL播放MIDI    var url = NSURL(fileURLWithPath: filePath!)    var midiPlayer:XMidiPlayer = XMidiPlayer()    midiPlayer.initMidi(url!)    midiPlayer.play()    //根据Data播放MIDI    var data = NSFileManager.defaultManager().contentsAtPath(filePath!)    var midiPlayer:XMidiPlayer = XMidiPlayer()    midiPlayer.initMidiWithData(data)    midiPlayer.play()

###4.XMidiPlayer播放控制API

    //Midi总播放时间(秒)(真实时间)    @property (nonatomic,readonly) float totalTime;    //Midi当前播放时间点(秒)(真实时间)    @property (nonatomic) float time;    //Midi当前标准时间点(秒)(标准时间)    @property (nonatomic) float timeStamp;    //当前播放进度 返回一个0~1的一个小数,代表进度百分比    @property (nonatomic) float progress;    //初始化MIDI URL    -(void)initMidi:(NSURL*)midiUrl;    //初始化MIDI Data    -(void)initMidiWithData:(NSData*)data;    //暂停    -(void)pause;    //播放、继续播放    -(void)play;    //重播    -(void)replay;    //关闭播放器    -(void)closePlayer;    //跳转到某个音符开始播放    -(void)gotoNoteByTrackIndex:(int)trackIndex NodeIndex:(int)noteIndex;    //Midi信息    - (NSString *)midiDescription;

###5.XMidiPlayer委托事件

    //播放进度变化 progress是一个0~1的一个小数,代表进度百分比    + (void)progressChanged:(double)progress;

###6.关于乐器字典

字典文件使用.aupreset文件,可以使用Apple的AU Lab生成。可以在Xcode->Open Developer Tool->More Developer Tools中下载Audio Tools for Xcode。乐器有两级分类,第一级17个大类,第二级128个子类。每个大类有一种默认乐器,然后每个子类对应一种乐器。其实还可以再细分,有兴趣的朋友可以看这里https://en.wikipedia.org/wiki/General_MIDI_Level_2

###7.默认乐器字典

我添加的不全,缺少的大家可以自己添加,可在XAudioPlayer.h文件中修改乐器字典。第一级InstrumentFirstType_Piano “Yamaha Grand Piano”InstrumentFirstType_ChromaticPercussion “Celesta”InstrumentFirstType_Organ ”Full Organ“InstrumentFirstType_Guitar “Classical Acoustic Guitar”InstrumentFirstType_Bass “Muted Electric Bass”InstrumentFirstType_OrchestraSolo “String Ensemble”InstrumentFirstType_OrchestraEnsemble “String Ensemble”InstrumentFirstType_Brass “French Horns”InstrumentFirstType_Reed ”Alto Sax“InstrumentFirstType_Wind “Flutes”第二级InstrumentSecondType_OrchestralKit “Orchestral Kit”

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap