将iOS应用移植到Mac OS-X(音频捕捉和播放)

3

我有一个iOS的样例应用程序,用于从麦克风捕获音频并实时播放。我正在尝试将这个应用程序转换为macOS系统,但遇到了一些错误。当我尝试在macOS系统中编译我的应用程序时,会出现“kAudioSessionCategory_PlayAndRecord”和“AudioSessionSetActive”的错误。

flag = kAudioSessionCategory_PlayAndRecord;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(flag), &flag);
//Float32 fflag = 1.0;
//AudioSessionSetProperty(kAudioSessionProperty_InputGainScalar, sizeof(fflag), &fflag);
flag = kAudioSessionMode_VoiceChat;
AudioSessionSetProperty(kAudioSessionProperty_Mode, sizeof(flag), &flag);

AudioSessionSetActive(true);

以下是上述代码在macOSX中的等效代码:

在macOSX中,等效的代码是什么。

1个回答

3
简单来说,在OS X上您不需要AudioSession - 它的作用是协调设备上音频硬件的共享使用。在OS X上,所有应用程序都可以同时访问音频硬件。确实,如果您查看 AudioToolbox / AudioSession.h ,您会看到在所有功能之后都有 __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_2_0); - 这意味着在OS X上不可用AudioSession。
您可以为OS X版本的项目简单地 #ifdef 掉任何AudioSession代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接