kAudioSessionProperty_AudioRouteChange에 대한 오디오 세션 속성 수신기를 추가 중이며 콜백에서 UIImagePickerController의 takePicture 함수를 호출하려고합니다. 문제는 콜백에서 내 선택기에 액세스 할 수 없다는 것입니다.Objective C 객체가 C 함수에서 인식되지 않습니다.
viewDidLoad에서 내 선택 도구를 초기화하고 있습니다. 피커를 private 및 public 개체로 선언하고 picker 또는 self.picker로 액세스하려고 시도했지만 항상 "선언되지 않은 식별자 사용"오류를 제공합니다. 뿐 배열이 같은 준다 나는 또한이 UIImagePickerController를의 문제였다 경우 NSArray를보고 선언
void applicationVolumeDidChange(void *inClientData,
AudioSessionPropertyID inID,
UInt32 inDataSize, const void *inData)
{
NSLog(@"Volume changed");
//[picker takePicture]; Error
}
: 이것은 내 콜백입니다
AudioSessionInitialize(nil, nil, nil, nil);
AudioSessionSetActive(true);
AudioSessionAddPropertyListener(
kAudioSessionProperty_AudioRouteChange,
applicationAudioRouteDidChange,
self);
: 나는 청취자를 추가하려면이 코드를 사용 오류.
자기가 내보기 컨트롤러 그래서 제 경우에는'UIImagePickerController * myPicker = (RootViewController *) inClientData.picker; '를 사용합니다. 귀하의 방향은 정확합니다. –