我正在为 kAudioSessionProperty_AudioRouteChange 添加一个音频会话属性侦听器,并且在回调中我想调用 UIImagePickerController 的 takePicture 函数。问题是我无法在回调中访问我的选择器。
我正在 viewDidLoad 中初始化我的选择器。我尝试将选择器声明为私有和公共对象,并使用选择器或 self.picker 进行访问,但它总是给出“使用未声明的标识符”错误。我使用此代码添加侦听器:
AudioSessionInitialize(nil, nil, nil, nil);
AudioSessionSetActive(true);
AudioSessionAddPropertyListener(
kAudioSessionProperty_AudioRouteChange,
applicationAudioRouteDidChange,
self);
这是我的回调:
void applicationVolumeDidChange(void *inClientData,
AudioSessionPropertyID inID,
UInt32 inDataSize, const void *inData)
{
NSLog(@"Volume changed");
//[picker takePicture]; Error
}
我还声明了一个 NSArray 以查看这是否只是 UIImagePickerController 的问题,但该数组也给出了相同的错误。