SpotlightLyrics
SpotlightLyrics is an open-source library which helps developers in parsing & displaying LRC files, it is completely developed under Swift 4.2 and designed for both iPhone and iPad platforms.
Getting Started
Cocoapods
pod 'SpotlightLyrics'
Manually
- Download or clone the repository and then compile it to obtain
SpotlightLyrics.framework
, - Copy
SpotlightLyrics.framework
from frameworks folder to the your project, - Open your project in XCode and navigate to
General
-Linked Frameworks and Libraries
to add the component into you project
How To Use
To start using SpotlightLyrics
in your files, just do the following:
import SpotlightLyrics
LyricaParser
If you only parse LRC files, you can use the class LyricsParser
, here's an example for it:
import SpotlightLyrics
// ... Load the LRC string from local or remote
// Pass your lyrics string to create an instance
let parser = LyricsParser(lyrics: lyricsString)
// Now you get everything about the lyrics
print(parser.header.title)
print(parser.header.author)
print(parser.header.album)
for lyric in parser.lyrics {
print(lyric.text)
print(lyric.time)
}
LyricsView
SpotlightLyrics
provids an LRC displaying component for showing lyrics and scrolling like most of the music apps do:
import SpotlightLyrics
// ... Load the LRC string from local or remote
// Create an instance and add it to your UI
let lyricsView = LyricsView()
lyricsView.frame = self.view.bounds
self.view.addSubView(lyricsView)
// Pass the LRC string and style the LyricsView
lyricsView.lyrics = lyricsString
lyricsView.font = UIFont.systemFont(ofSize: 13)
lyricsView.textColor = UIColor.black
lyricsView.highlightedFont = UIFont.systemFont(ofSize: 13)
lyricsView.highlightedTextColor = UIColor.lightGray
// Play
lyricsView.timer.play()
// Pause
lyricsView.timer.pause()
// Seek to an eplased time
lyricsView.timer.seek(toTime: 20.0)
// Start it over
lyricsView.timer.seek(toTime: 0)
lyricsView.timer.play()
Also, please check the Demo
Stylish
LyricsView
supports the following properties to allow you to make it up.
Property Name | Type | Default Value | Description |
---|---|---|---|
lyricTextColor | UIColor | LightGray | The color of the unhighlighted lyrics |
lyricHighlightedTextColor | UIColor | Black | The color of the highlighted lyrics |
lyricFont | UIFont | System 16 | The font of the unhighlighted lyrics |
lyricHighlightedFont | UIFont | System 16 Bold | The font color of the highlighted lyrics |
lineSpacing | CGFloat | 16 | The spacing of each lyric lines |
Objective-C compatibility
This respository hasn't been tested under Objective-C environment in any way.