iOS節(jié)拍器開發(fā)

Demo&效果圖

191541572782_.pic_hd.jpg

我將節(jié)拍器View部分分成了四部分猎贴,負責處理各自操作宫屠。


201541576346_.pic_hd.jpg

View

HLRhythmSpotView負責展示節(jié)拍數(shù)黑低,會根據(jù)節(jié)拍顯示閃爍動畫
HLChoiceRhythmView負責切換節(jié)拍數(shù)
HLChangeSpeedView負責切換頻率
HLPlaySwitchView負責播放鳍侣、暫停、切換頻率

節(jié)拍管理類

HLMetronomeAudioManager負責管理節(jié)拍的播放应民、暫停话原、頻率

typedef NS_ENUM(NSInteger, HLMetronomeType) {
    
    HLMetronomeType1V4 =0,     // 1/4
    HLMetronomeType2V4,        // 2/4
    HLMetronomeType3V4,        // 3/4
    HLMetronomeType4V4,        // 4/4
    HLMetronomeType3V8,        // 3/8
    HLMetronomeType6V8         // 6/8
};

// 代理
@protocol HLMetronomeAudioManagerDelegate <NSObject>

/** 當前播放音頻的總次數(shù)(用來處理上部圓View那個顯示高亮狀態(tài)) */
- (void)hlMetronomeAudioCurrentTotalNo:(int)currentTotalNo;

@end

@interface HLMetronomeAudioManager : NSObject

+ (instancetype)sharedAudioManager;

/** 代理 */
@property (nonatomic, weak) id <HLMetronomeAudioManagerDelegate> delegate;

/** 節(jié)拍類型 */
@property (nonatomic, assign) HLMetronomeType metronomeStat;

/** 播放速率夕吻,范圍40~240 */
@property (nonatomic, assign) int rate;

/** 播放 */
- (void)play;

/** 暫停 */
- (void)pause;

@end

每個View通過代理將用戶操作事件傳回HLMetronomeViewController,由HLMetronomeViewController調(diào)用HLMetronomeAudioManager的方法操作節(jié)拍音頻繁仁。

#pragma mark -- 初始化節(jié)拍器播放器
- (void)initMetronomeAudio{
    
    [HLMetronomeAudioManager sharedAudioManager].delegate = self;
    [[HLMetronomeAudioManager sharedAudioManager] setMetronomeStat:HLMetronomeType1V4];
    [[HLMetronomeAudioManager sharedAudioManager] setRate:40];
    [self.rhythmSpotView updateSpotView:HLMetronomeType1V4];
}

#pragma mark -- HLChoiceRhythmViewDelegate
- (void)hlChangeRhythm:(HLMetronomeType)metronomeStat{
    
    [self.rhythmSpotView updateSpotView:metronomeStat];
    [[HLMetronomeAudioManager sharedAudioManager] setMetronomeStat:metronomeStat];
}

#pragma mark -- HLChangeSpeedViewDelegate
- (void)hlChangeSpeed:(int)speed{
    
    [[HLMetronomeAudioManager sharedAudioManager] setRate:speed];
}

#pragma mark -- HLPlaySwitchViewDelegate
- (void)hlPlay{
    
    [[HLMetronomeAudioManager sharedAudioManager] play];
}

- (void)hlPause{
    
    [[HLMetronomeAudioManager sharedAudioManager] pause];
}

- (void)hlChangeSpeedWithIsAdd:(BOOL)isAdd speed:(int)speed{
    
    [self.changeSpeedView changeSpeedWithIsAdd:isAdd speed:speed];
}

#pragma mark -- HLMetronomeAudioManagerDelegate
- (void)hlMetronomeAudioCurrentTotalNo:(int)currentTotalNo{
    
    [self.rhythmSpotView updateSpotViewHeightState:currentTotalNo];
}

具體代碼可以下載Demo查看

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涉馅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子改备,更是在濱河造成了極大的恐慌控漠,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悬钳,死亡現(xiàn)場離奇詭異,居然都是意外死亡偶翅,警方通過查閱死者的電腦和手機默勾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來聚谁,“玉大人母剥,你說我怎么就攤上這事⌒蔚迹” “怎么了环疼?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長朵耕。 經(jīng)常有香客問我炫隶,道長,這世上最難降的妖魔是什么阎曹? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任伪阶,我火速辦了婚禮,結果婚禮上处嫌,老公的妹妹穿的比我還像新娘栅贴。我一直安慰自己,他們只是感情好熏迹,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布檐薯。 她就那樣靜靜地躺著,像睡著了一般注暗。 火紅的嫁衣襯著肌膚如雪坛缕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天友存,我揣著相機與錄音祷膳,去河邊找鬼。 笑死屡立,一個胖子當著我的面吹牛直晨,可吹牛的內(nèi)容都是我干的搀军。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼勇皇,長吁一口氣:“原來是場噩夢啊……” “哼罩句!你這毒婦竟也來了?” 一聲冷哼從身側響起敛摘,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤门烂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后兄淫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屯远,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年捕虽,在試婚紗的時候發(fā)現(xiàn)自己被綠了慨丐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡泄私,死狀恐怖房揭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情晌端,我是刑警寧澤捅暴,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站咧纠,受9級特大地震影響蓬痒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜惧盹,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一乳幸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧钧椰,春花似錦粹断、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至诊沪,卻和暖如春养筒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背端姚。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工晕粪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人渐裸。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓巫湘,卻偏偏與公主長得像装悲,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子尚氛,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1诀诊、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,969評論 3 119
  • 天如洗般湛藍属瓣,這片粉色的牽牛如剛出浴的美人般柔媚,清新讯柔÷胀埽花瓣美美的偎在一起,好一份柔情磷杏,我意蕩神搖溜畅,思緒不由飄到那...
    螢窗細語閱讀 288評論 0 0
  • 標題暫時想不出來,目前到了這尷尬的年紀极祸,接到家人、親朋好友們過度的關切怠晴,實在是無奈遥金,頭痛,每當電話鈴響起時蒜田,那種心...
    游游H閱讀 253評論 0 2
  • 有的人年過三十發(fā)現(xiàn)稿械,自己忙忙碌碌了這么多年,沒有什么收獲冲粤,感覺在社會上打拼了這么久美莫,還不能夠給家人和孩子一個滿意的...
    老milk麻麻閱讀 170評論 0 0
  • 包子作為一種早餐有其存在的必然理由,一家實體包子店的利潤與客流量往往是有一定限額的梯捕,往往是有限范圍內(nèi)的無奈選擇厢呵,這...
    我的魚在哪閱讀 285評論 0 0