XMIDI — это движок воспроизведения MIDI-файлов для iOS. Версия 2.0 отличается от версии 1.0 изменением режима воспроизведения с OpenAL на AudioUnit. В новой версии поддерживаются различные инструменты, а также возможность самостоятельно определять и добавлять новые инструменты. Движок написан на Objective-C, пример проекта представлен на Swift.
Если возникнут вопросы, свяжитесь со мной:
Почта: watarux@qq.com
QQ: 56809958
Общение в группе: 334533178
- Обновление до версии 2.1, добавлены методы управления воспроизведением.
// Текущее время воспроизведения (в секундах)
@property (nonatomic) float timeStamp;
// Переход к воспроизведению начального звука по индексу дорожки и ноты
-(void)gotoNoteByTrackIndex:(int)trackIndex noteIndex:(int)noteIndex;
- Первый выпуск версии.### Инструкция по использованию
// Инициализация.
XMidiPlayer.xInit()
// Освобождение ресурсов.
XMidiPlayer.xDispose()
// Чтение файла
let filePath = NSBundle.mainBundle().pathForResource("midiFileName", ofType: "mid");
// Воспроизведение MIDI по URL
let url = NSURL(fileURLWithPath: filePath);
let midiPlayer:XMidiPlayer = XMidiPlayer();
midiPlayer.initMidi(url);
midiPlayer.play();
// Воспроизведение MIDI по данным
let data = NSFileManager.defaultManager().contentsAtPath(filePath);
let midiPlayer:XMidiPlayer = XMidiPlayer();
midiPlayer.initMidiWithData(data);
midiPlayer.play();
// Полное время воспроизведения (в реальных секундах)
@property (nonatomic, readonly) float totalTime;
// Текущее время воспроизведения (в реальных секундах)
@property (nonatomic) float time;
// Текущее время воспроизведения (в стандарте времени)
@property (nonatomic) float timeStamp;
// Текущий прогресс воспроизведения (число от 0 до 1, представляющее процент выполнения)
@property (nonatomic) float progress;
``````markdown
### 5. Делегатные события XMidiPlayer
```objective-c
// Изменение прогресса воспроизведения. progress — это десятичное число от 0 до 1, представляющее процент выполнения.
+ (void)progressChanged:(double)progress;
> Словарные файлы используют .aupreset файлы, которые можно создать с помощью Apple AU Lab.
>
> Инструменты Audio Tools для Xcode доступны для скачивания через Xcode -> Open Developer Tool -> More Developer Tools.
>
> Инструменты разделены на две категории: первая категория состоит из OnClickListener 17 основных типов, а вторая — из 128 подкатегорий.
> Каждый основной тип имеет одно по умолчанию используемое музыкальное инструмент, а каждая подкатегория соответствует своему инструменту.
> Можно еще более детализировать эти категории, заинтересованные могут посмотреть здесь https://en.wikipedia.org/wiki/General_MIDI_Level_2
### 7. Словарь по умолчанию для музыкальных инструментов
> Я не полностью заполнил этот словарь, поэтому недостающие значения вы можете добавить самостоятельно, редактируя файл XAudioPlayer.h.
>
> Первый уровень
>
> InstrumentFirstType_Piano "Yamaha Grand Piano"
>
> InstrumentFirstType_ChromaticPercussion "Celesta"
>
> InstrumentFirstType_Organ "Full Organ"
>
> InstrumentFirstType_Guitar "Classical Acoustic Guitar"
>
> InstrumentFirstType_Bass "Muted Electric Bass"
>
> InstrumentFirstType_OrchestraSolo "String Ensemble"
>
> InstrumentFirstType_OrchestraEnsemble "String Ensemble"
>
> InstrumentFirstType_Brass "French Horns"
>
> InstrumentFirstType_Reed "Alto Sax"
>
> InstrumentFirstType_Wind "Flutes"
>
> Второй уровень
>
> InstrumentSecondType_OrchestralKit "Orchestral Kit"
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )