1. 程式人生 > >IOS開發實現歌詞自動滾動功能

IOS開發實現歌詞自動滾動功能

今天練習到媒體播放的模組,學過了音樂播放後,我想實現在tableView中歌詞自動滾動功能,實際操作起來其實並沒有想象的複雜,關鍵是要想到一種能實時更新當前滾動行的方法,我選用的是NSTimer計時器,通過和記錄資料的歌詞對應時間做對比來實現歌詞更新顯示。我就把核心實現記錄一下。

在Viewdidload例項化定時器

_timer = [NSTimerscheduledTimerWithTimeInterval:0.09ftarget:selfselector:@selector(rollLyc) userInfo:nilrepeats:YES];

- (void)rollLyc

{

    CGFloat

currentTime = _audio.currentTime;

    CGFloat lycTime = [_lycList[currentLine + 1][@"time"] floatValue];//_lycList是儲存有每句歌詞和對應的時間的字典集合  currentLine設定為成員變數,在ViewDidLoad中初始為0

    NSLog(@"%f --- %f ",currentTime,lycTime);

    if (currentTime >= lycTime) {

currentLine = currentLine + 1;

    }

    NSIndexPath

*indexpath = [NSIndexPath indexPathForRow:currentLine inSection:0];

    [self.tableViewselectRowAtIndexPath:indexpath animated:YESscrollPosition:UITableViewScrollPositionMiddle];

}


;