在我的 iPhone 应用程序中,我试图同时录制音频和播放 iPod 音乐,因此我将音频会话类别设置为 kAudioSessionCategory_PlayAndRecord。但是当我设置这个时,所有系统音频(包括振动)都不再工作了,尽管 iPod 音频仍然可以工作。有谁知道这是否是 SDK 中的错误或其他问题,或者如何解决?请帮忙!
提前致谢!
在我的 iPhone 应用程序中,我试图同时录制音频和播放 iPod 音乐,因此我将音频会话类别设置为 kAudioSessionCategory_PlayAndRecord。但是当我设置这个时,所有系统音频(包括振动)都不再工作了,尽管 iPod 音频仍然可以工作。有谁知道这是否是 SDK 中的错误或其他问题,或者如何解决?请帮忙!
提前致谢!
查看 kAudioSessionOverrideAudioRoute 的文档告诉我们,PlayAndRecord 类别的默认设置是将音频路由到接收器(您在通话时使用的扬声器)。有没有可能所有的音频都被路由到那里,而你不把耳朵放在那里就听不见?
如果你想改变音频的去向,你需要调用 AudioSessionSetProperty,并传递给它指定你希望音频去向的常量。这些常数是
kAudioSessionOverrideAudioRoute_None,它指定您希望将音频路由到接收器(就像现在一样),或者
kAudioSessionOverrideAudioRoute_Speaker,指定音频应该路由到手机底部的扬声器
UInt32 routeVar = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(routeVar), &routeVar);