Можно ли использовать Superpowered для вывода объемного звука 5.1 или 7.1? - PullRequest
0 голосов
/ 13 ноября 2018

Я экспериментирую с Superpowered на tvOS.Я хотел бы иметь возможность выводить звук более чем на два стереоканала.Возможно ли это с помощью Superpowered SDK?

До сих пор я пытался изменить пример включенного tvOS следующим образом:

  • In ViewController.m, где Superpoweredинициализировано, я изменил значение параметра channels с 2 на 6.(Это для объемного звука 5.1, который поддерживает подключенное устройство вывода.)

  • В audioHandler.mm я добавил следующее к audioProcessingCallback:

    SuperpoweredDeInterleave(stereoOutput, buffers[2], buffers[3], numberOfSamples);
    SuperpoweredDeInterleave(stereoOutput, buffers[4], buffers[5], numberOfSamples);
    

С этими изменениями я ожидал, что свист будет воспроизводиться через все 6 динамиков объемного звучания, но он воспроизводится только в передних левой и правой колонках.Что еще мне нужно сделать, чтобы настроить Superpowered для вывода объемного звука?

1 Ответ

0 голосов
/ 16 ноября 2018

Попробуйте это дополнительно, незадолго до [audioIO start]:

AVAudioSession *instance = [AVAudioSession sharedInstance];  
NSLog(@"output channels: %ld", (long)instance.outputNumberOfChannels);  
NSLog(@"max channels: %ld", (long)instance.maximumOutputNumberOfChannels);  
BOOL r = [instance setPreferredOutputNumberOfChannels:instance.maximumOutputNumberOfChannels error:&error];  
NSLog(@"set preferred channels: %d error: %@", r, error);  
NSLog(@"output channels: %ld", (long)instance.outputNumberOfChannels);
...