Есть ли способ перехватить байтовые данные и выполнить операцию XOR для каждого байта перед воспроизведением звука в AVPlayer?
Я создаю приложение для потоковой передачи аудио и использую небольшой скрипт, написанный на C, для добавленияпростой слой шифрования для файлов MP3.В Android он декодируется в реальном времени следующим образом:
@Override
public int read(byte[] buffer, int offset, int readLength) throws FileDataSourceException {
// ...
if (readLength == 1 && offset >= 1 && offset <= 123) {
buffer[offset] = (byte)(buffer[offset] ^ 11);
}
return bytesRead;
}
}
Как вы можете видеть выше, отмена шифрования XOR в Android довольно проста, поскольку я использую ExoPlayer и переопределяю метод read () в его классах источника данных.Есть ли шанс выполнить то же самое, используя AVPlayer со Swift?
Вот блок-схема всей идеи:
Блок-схема шифрования AVPlayer
Спасибовы.