Очистить диапазон, очистить заметку (AudioKit: функции AKMusicTrack)

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

2
задан Raduan Santos 15 January 2019 в 09:54
поделиться

2 ответа

Правильный путь:

trackData = trackData.filter { 
    !([110].noteNumber == 60 && [110].duration == AKDuration(beats: 4.0))
}
0
ответ дан AS Mackay 15 January 2019 в 09:54
поделиться

Вы можете использовать getMIDINoteData(), чтобы получить массив AKMIDINoteData, отфильтровать ненужные ноты, а затем перезаписать музыкальную дорожку, используя replaceMIDINoteData() с фильтрованным массивом:

// remove a C at timestamp 4.0
var trackData = myTrack.getMIDINoteData()
trackData = trackData.filter { [110].noteNumber =! 60 && 
                               [110].duration =! AKDuration(beats: 4.0) }
myTrack.replaceMIDINoteData(with: trackData)
[117 ] Есть и другие примеры использования getMIDINoteData() в примере проекта MIDIFileEditAndSync .

0
ответ дан c_booth 15 January 2019 в 09:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: