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

OSCHINA-MIRROR/lugia-XMIDI-2.0

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 13.03.2025 23:41 74db180

XMIDI

Краткое описание

XMIDI — это движок воспроизведения MIDI-файлов для iOS. Версия 2.0 отличается от версии 1.0 изменением режима воспроизведения с OpenAL на AudioUnit. В новой версии поддерживаются различные инструменты, а также возможность самостоятельно определять и добавлять новые инструменты. Движок написан на Objective-C, пример проекта представлен на Swift.

Если возникнут вопросы, свяжитесь со мной: Почта: watarux@qq.com
QQ: 56809958
Общение в группе: 334533178

История обновлений

09 июля 2015 года

  1. Обновление до версии 2.1, добавлены методы управления воспроизведением.
    // Текущее время воспроизведения (в секундах)
    @property (nonatomic) float timeStamp;
    // Переход к воспроизведению начального звука по индексу дорожки и ноты
    -(void)gotoNoteByTrackIndex:(int)trackIndex noteIndex:(int)noteIndex;

22 мая 2015 года

  1. Первый выпуск версии.### Инструкция по использованию

1. Инициализация API

    // Инициализация.
    XMidiPlayer.xInit()

2. Освобождение ресурсов API

    // Освобождение ресурсов.
    XMidiPlayer.xDispose()

3. Пример воспроизведения MIDI

    // Чтение файла
    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();

4. API управления воспроизведением XMidiPlayer

    // Полное время воспроизведения (в реальных секундах)
    @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 )

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

1
https://api.gitlife.ru/oschina-mirror/lugia-XMIDI-2.0.git
git@api.gitlife.ru:oschina-mirror/lugia-XMIDI-2.0.git
oschina-mirror
lugia-XMIDI-2.0
lugia-XMIDI-2.0
master