Использование регулярного выражения, пересмотр алгоритма анализа текста песни
В данной версии выбор был сделан в пользу реализации через регулярное выражение, что позволяет решить все проблемы с помощью всего одной строки регулярного выражения.
Регулярное выражение для даты в коде:
"\\d{1,2}:\\d{2}.\\d{2}"
Если регулярное выражение даты успешно совпадает, то можно утверждать, что строка является допустимой.
Чтобы получить содержимое текущей строки текста песни, используется следующий код:
NSRange lastRange = [[matchs lastObject] rangeAtIndex:0];
NSString *lrcc = [lineText substringFromIndex:lastRange.location + lastRange.length + 1];
В предыдущих версиях при анализе использовался метод извлечения подстроки для разбора текста песни, но из-за разнообразия форматов LRC это часто приводило к ошибкам.
Использование помощи
Принцип:
Установка
Первый способ: основные файлы кода — MusicLrcView.h/m
и MusicLrcParser.h/m
. Их нужно скопировать непосредственно в проект, а затем использовать import "MusicLrcView.h"
.
Второй способ (динамический фреймворк): во время процесса компиляции возникает проблема поддержки ядра. (Временно отменено.)
Скачайте MusicLRC.framework
и импортируйте его в проект.
#import <MusicLRC/MusicLrcView.h>
pod 'MusicLrc', :git => 'https://github.com/huos3203/MusicLrcTest.git'
Затем установите Pod в каталоге проекта.
$ pod install
* Добавьте свой частный репозиторий Pod в локальный PodRepo.
Добавьте свой личный репозиторий Pod в PodRepo:
$ pod repo add PodRepo https://github.com/huos3203/PodRepo.git
Найдите MusicLrc
в терминале:
$ pod search MusicLrc
-> MusicLrc (0.0.2)
Использование регулярного выражения для переопределения алгоритма анализа текста песни
pod 'MusicLrc', '~> 3.2'
- Homepage: https://github.com/huos3203/MusicLrcTest
- Source: https://github.com/huos3203/MusicLrcTest.git
- Versions: 3.2, 3.0, 2.0, 0.0.2 [podRepo repo]
Настройте файл Podfile: source 'https://github.com/huos3203/PodRepo.git'
pod 'MusicLrc', '~> 3.2'
Установите в корневом каталоге проекта:
$ pod install
Сохраняются два интерфейса:
+(MusicLrcView *)shared;
Используется для инициализации отображения страницы текста песни. Конкретная реализация достигается через интерфейсы, связанные с tableView
, для реализации функций отображения и взаимодействия с пользователем.
[self.view addSubview:[MusicLrcView shared]];
-(void)loadLrcBy:(NSString *)lrcPath audioPlayer:(AVAudioPlayer *)player lrcDedegate:(id<MusicLrcDelegate>)lrcDelegate;
lrcPath
: путь к тексту песни в формате LRC
audioPlayer
:AVAudioPlayer
экземпляр проигрывателя
lrcDelegate
: класс, соответствующий протоколу MusicLrcDelegate
Протокол настраиваемого внешнего вида делегата
//代理
@protocol MusicLrcDelegate <NSObject>
//Переопределение цвета выделенного текста песни
-(UIColor *)musicLrcHighlightColor;
-(UIColor *)musicLrcColor;
-(UIImage *)visualEffectImage;
-(BOOL)refreshAllLrcColor;
-(void)refreshFinish;
@end
Конкретный процесс:
//Добавить путь аудио
MusicLrcView *lrcView = [MusicLrcView shared];
[[MusicLrcView shared] loadLrcBy:@"荷塘月色" audioPlayer:_audioPlayer lrcDedegate:self];
[self.view addSubview:lrcView];
Новые функции
[HttpClientManager.shareInstance loadLrcByLrcModel:lrcmodel player:_audioPlayer lrcDelegate:self completion:^(BOOL finished,NSString * loginfo) {
}];
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )