1
爲了讓我的iPhone應用程序中的耳機可能插入或拔出耳機,並正確反應;我用下面樣的代碼,在我的幾個類:AudioSessionAddPropertyListener無緣無故召喚的回撥功能
- (void)viewDidLoad
{
[super viewDidLoad];
…..
routeChangeID=kAudioSessionProperty_AudioRouteChange;
AudioSessionAddPropertyListener(routeChangeID,rvcHandleRouteChange,(__bridge void *)(self));
}
…….
void rvcHandleRouteChange(void *inUserData,AudioSessionPropertyID inPropertyID,
UInt32 inPropertyValueSize,const void *inPropertyValue)
{
NSLog(@"Hi rvcHandleRouteChange has been called.");
if (inPropertyID!=kAudioSessionProperty_AudioRouteChange) NSLog(@"WRONG CALL!!!");
// Do some useful work ….
}
,似乎工作相當好,除了在一個情況下rvcHandleRouteChange回調函數被調用時沒有明顯的原因。即使通過測試來過濾錯誤的呼叫,它們也不會顯示爲「錯誤呼叫」。 我的意思是,沒有我的電話就可以插入或拔下任何耳機。 因此,這給我很大的麻煩。
任何人都知道爲什麼會發生這種情況?
。 –