IOS / Objective-C / AVFoundation: следует ли создавать AudioEngine для каждой записи - PullRequest
0 голосов
/ 10 сентября 2018

Большинство примеров кода, которые я видел для записи аудио, имеют код в начале, чтобы проверить, существует ли звуковой движок и, если нет, создать его.

-(void) startRecording {

if (audioEngine == nil) {
        audioEngine = [AVAudioEngine new];
}

Затем, чтобы остановить работу звукового движка, обычно пишется:

[audioEngine stop];

В отличие от него, для многообещающего распознавания в начале кода вводят код для отмены.это и начать заново:

if (recognitionTask) {
        [recognitionTask cancel];
        recognitionTask = nil;
    }

Когда вы останавливаете движок, который явно освобождает некоторые ресурсы, вы тем не менее оставляете его выделенным?

Если все элементы речи, звуковой движок, поскольку задача и запрос используются вместе, казалось бы, проще создать их и уничтожить все одновременно.Мой конкретный вопрос, могу ли я это сделать.Однако меня смущает, почему механизм обычно создается только в том случае, если он не существует, но другие элементы всегда отменяются, а затем воссоздаются.

Заранее благодарим за понимание того, почему к ним относятся по-разному.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...