2012年4月11日

iPhone iOS4 聲音與震動(vibration and sound) 第二集


繼續上集,iPhone iOS4 聲音與震動(vibration and sound) 第一集

震動的部份
 
    Q1: iOS的震動方式是透過
    Google大神說: AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); 達成,也就是說當系統播放聲音檔時會引發震動。

    Q2: 持續的震動怎麼辦?
    Google大神說: 這就要靠AudioServicesAddSystemSoundCompletion 來達成了
         ,利用設定AudioServicesAddSystemSoundCompletion這個Callback來通知我們聲音播放器已經做完一次的播放與震動。
之後再利用AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);來達成持續播放的效果

    Q3:請問有沒有範例啊
    Google大神說:

   - (void) showReminder:(NSString *) text{
    SystemSoundID sysSoundId = 0;
    NSString *path = [[NSBundle mainBundlepathForResource:@"alarm" ofType:@"caf"];
    NSURL *filepath = [NSURL fileURLWithPath: path];
    AudioServicesCreateSystemSoundID((__bridge_retained CFURLRef) filepath, &sysSoundId);
    AudioServicesAddSystemSoundCompletion(sysSoundId, 
           NULLNULLcompletionCallback ,(__bridge void *) self);
    AudioServicesPlaySystemSound(sysSoundId);
    AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
   }

   static void completionCallback (SystemSoundID  mySSID, void* data) {
    // Play again after sound play completion
    AudioServicesPlaySystemSound(mySSID);
    AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
   }

沒有留言:

張貼留言