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

OSCHINA-MIRROR/lugia-XMIDI

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

XMIDI

Введение

XMIDI — это движок для воспроизведения MIDI-файлов на iOS, основанный на библиотеках Audio Toolbox Framework и OpenAL.

В XMIDI используется API Audio Toolbox Framework для чтения и анализа MIDI-файлов, а затем OpenAL для воспроизведения соответствующих нот.

При воспроизведении звука с помощью OpenAL применяются настройки громкости, пространственного звучания и затухания, чтобы имитировать эффект игры на настоящем фортепиано.

Этот движок написан на OC, и в качестве примера проекта используется язык Swift.

Если у вас есть вопросы по использованию, вы можете связаться со мной.

Электронная почта: watarux@qq.com QQ: 56809958 Группа общения: 334533178

Видеодемонстрация

Демонстрационное видео со звуковыми эффектами можно найти здесь

Скриншоты демоверсии

AD

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

2015-05-18

  1. Обновление до версии 1.2.
  1. Интеграция и оптимизация кода, теперь весь код XMIDI находится в каталоге XMidiLib.
  2. Обновлён метод XMidiPlayer.

2015-03-22

  1. Добавлен контроль воспроизведения.

2015-03-18

  1. Добавлена функция XMidiPlayer, что делает воспроизведение MIDI-файлов более удобным.

2015-03-17

  1. Первоначальная версия выпущена.

Использование

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

    // Инициализация, аудиофайл будет загружен в память, и если ресурсы будут освобождены после этого, то при следующем воспроизведении потребуется повторная инициализация.
    XMidiPlayer.xInit()

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

    // Освобождение ресурсов, не обязательно освобождать ресурсы каждый раз после завершения воспроизведения, это можно делать только тогда, когда это необходимо.
    XMidiPlayer.xDispose()

3. Воспроизведение MIDI-примера

    // Чтение файла
    var filePath = NSBundle.mainBundle().pathForResource("midiFileName", ofType: "mid")

    // Воспроизведение MIDI по URL
    var url = NSURL(fileURLWithPath: filePath!)
    var midiPlayer:XMidiPlayer = XMidiPlayer()
    midiPlayer.initMidi(url!)
    midiPlayer.play()

    // Воспроизведение MIDI на основе данных
    var data = NSFileManager.defaultManager().contentsAtPath(filePath!)
    var midiPlayer:XMidiPlayer = XMidiPlayer()
    midiPlayer.initMidiWithData(data)
    midiPlayer.play()

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

    // Общее время воспроизведения MIDI (в секундах)
    @property (nonatomic,readonly) double totalTime;
    // Текущее время воспроизведения MIDI (в секундах)
    @property (nonatomic) double time;

    // Инициализировать MIDI URL
    -(void)initMidi:(NSURL*)midiUrl;
    // Инициализировать данные MIDI
    -(void)initMidiWithData:(NSData*)data;
    // Пауза
    -(void)pause;
    // Играть, продолжить играть
    -(void)play;
    // Переиграть
    -(void)replay;
    // Получить текущий прогресс воспроизведения, возвращает десятичную дробь от 0 до 1, представляющую процент прогресса
    -(double)getProgress;
    // Установить текущий прогресс воспроизведения progress - это десятичная дробь от 0 до 1, представляющая процент прогресса
    -(void)setProgress:(double)progress;
    // Закрыть проигрыватель
    -(void)closePlayer;

5. Делегат событий XMidiPlayer

    // Изменение прогресса воспроизведения progress - десятичная дробь от 0 до 1, представляет процент прогресса
    + (void)progressChanged:(double)progress;

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

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

Введение

XMIDI — это MIDI-плеер на IOS. Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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