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.frameworkfrom frameworks folder to the your project, - Open your project in XCode and navigate to
General-Linked Frameworks and Librariesto 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.