1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/iTBoyer-musiclrcutil

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Использование регулярного выражения, пересмотр алгоритма анализа текста песни

В данной версии выбор был сделан в пользу реализации через регулярное выражение, что позволяет решить все проблемы с помощью всего одной строки регулярного выражения.

Регулярное выражение для даты в коде:

"\\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:
    • Непосредственно в файле Podfile используйте метод pod.

pod 'MusicLrc', :git => 'https://github.com/huos3203/MusicLrcTest.git'

Затем установите Pod в каталоге проекта.

$ pod install
* Добавьте свой частный репозиторий Pod в локальный PodRepo.

  1. Добавьте свой личный репозиторий Pod в PodRepo:

    $ pod repo add PodRepo https://github.com/huos3203/PodRepo.git

  2. Найдите 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]
  3. Настройте файл Podfile: source 'https://github.com/huos3203/PodRepo.git'

    pod 'MusicLrc', '~> 3.2'

  4. Установите в корневом каталоге проекта:

    $ pod install

Сохраняются два интерфейса:

  • Метод класса:
+(MusicLrcView *)shared;

Используется для инициализации отображения страницы текста песни. Конкретная реализация достигается через интерфейсы, связанные с tableView, для реализации функций отображения и взаимодействия с пользователем.

[self.view addSubview:[MusicLrcView shared]];
  • Экземплярный метод переключения текста песни: Функции:
  1. Используется после инициализации интерфейса для загрузки текста песни на страницу текста песни.
  2. Синхронно переключает текст песни при переключении песен. Способ вызова:
-(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 написан на Swift, обратите внимание на файл сопоставления -Swift.h.
[HttpClientManager.shareInstance loadLrcByLrcModel:lrcmodel player:_audioPlayer lrcDelegate:self completion:^(BOOL finished,NSString * loginfo) {
    
}];

  • Функция таймера для закрытия музыкального проигрывателя:

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Используя регулярные выражения, пересмотрите алгоритм анализа текста песни. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/iTBoyer-musiclrcutil.git
git@api.gitlife.ru:oschina-mirror/iTBoyer-musiclrcutil.git
oschina-mirror
iTBoyer-musiclrcutil
iTBoyer-musiclrcutil
master