【问题标题】:Port iOS app to Mac OS-X(Audio capture and playback)将 iOS 应用程序移植到 Mac OS-X(音频捕获和播放)
【发布时间】:2012-12-05 15:47:53
【问题描述】:

我在 iOS 中有一个示例应用程序,用于从麦克风实时捕获音频并播放。我想在 macosx 中转换这个应用程序,但发现了一些错误。当我尝试在 macosx 中编译我的应用程序时,它会在“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 中上述代码行的等效代码是什么。

【问题讨论】:

    标签: ios macos audio core-audio audio-recording


    【解决方案1】:

    简而言之,在 OS X 上您不需要 AudioSession——它的作用是协调设备上音频硬件的共享使用。在 OS X 上,所有应用程序都可以同时访问音频硬件。事实上,如果您查看AudioToolbox/AudioSession.h,您会在所有功能之后看到__OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_2_0);——这意味着AudioSession 在OS X 上不可用。

    您可以简单地 #ifdef 为您的 OS X 构建项目中的任何 AudioSession 代码。

    【讨论】:

      猜你喜欢
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多