我正在tvOS上试用Superpowered。我希望能够将音频输出到不止两个立体声通道。使用Superpowered SDK是否可以?
到目前为止,我已经尝试过修改包含的tvOS示例,如下所示:
在ViewController.m
中,初始化超能力的地方,我将channels
参数的值从2
更改为6
。 (这是用于5.1环绕声的,这是所连接的输出设备所支持的。)
在audioHandler.mm
中,我向audioProcessingCallback
添加了以下内容:
SuperpoweredDeInterleave(stereoOutput, buffers[2], buffers[3], numberOfSamples);
SuperpoweredDeInterleave(stereoOutput, buffers[4], buffers[5], numberOfSamples);
通过这些更改,我希望可以通过所有6个环绕声扬声器播放飞快移动,但只能在左右前扬声器中播放。要为环绕声输出配置Superpowered,我还需要做其他事情吗?
答案 0 :(得分:1)
在[audioIO启动]之前,还可以尝试以下操作:
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);