iOS—js版图形化编曲02

        当函数体与执行体分离完毕后,我们开始解析执行体代码如下

执行体解析

        对于函数执行体,内部有2-6 和8 这个模块,我们利用一个musicArray来记录对应的音效,用timeArray记录执行时间,对于number为3,4,5 的时候,我们可直接把对应音效和时间分别添加至musicArray与timeArray。当进入循环体的时候,我们需要将循环内容用一个array存储起来,递归解析,函数也是如此。

        当音效与时间解析完毕之后,我们可以进入播放模式了。

        首先我们创建一个播放类,便于控制我们将它做成单利

播放单利

        预加载音效(建议直接在appdelegate中调用)

预加载音效

    播放按钮点击(带暂停与播放功能)

播放控制

        此处曲子的播放也可以采用播放完当前的音效再创建并播放下一的方案,不过由于operationQueue对线程的控制很友好,此处我决定采用一次性创建任务,播放与暂停交给operationQueue来控制。

        获得播放状态后,就开始播放曲子,(此处我通过代理方法告知vc中按钮的状态,因为如果在播放中,我重新编了一首曲子来播放,vc中按钮是很难直接得到当前的状态的)

音乐播放与暂停
曲子切换与曲子停止
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 注:1.阅读此篇文章之前,请先观看下方视频(记得开启声音) 2.由于该功能大多都是逻辑,我只说流程,具...
    羽之_HB阅读 669评论 4 2
  • 一个人在公交站台看熙熙攘攘的人群 算几等孤独
    MICO的成长故事阅读 98评论 0 0
  • 二逼和逗逼的下一代(一) 长相 我的小宝贝终于出生了!之前的孕相被所有人说是男宝宝,彩超照出来的也是一个小男孩的样...
    逗儿姐逗阅读 358评论 1 2
  • 我记得我的同学里戴眼镜的大概占班级人数的四分之一,而如今,去学校看一看,戴眼镜的孩子几乎和不戴眼镜的孩子一样多。 ...
    百合小姐姐呀阅读 169评论 0 2