title: Is It possible to track AVAudioPlayer object by using observer?
body: <p>I followed the documents about how to set up and observer using KVO mechanism
  <a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html" rel="nofollow">http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html</a></p>
  
  <p>It's suppose to be very easy. </p>
  
  <p>I created an AVAudioPlayer object and I want to track after every change in it's current time.</p>
  
  <p>I use this code to set up the observer:</p>
  
  <pre><code>[_player addObserver:self forKeyPath:@"currentTime" options:NSKeyValueObservingOptionNew context:NULL];
  </code></pre>
  
  <p>This code to handle the changes:</p>
  
  <pre><code>-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
  if ([keyPath isEqualToString:@"currentTime"]) {
      //Do something
  }}
  </code></pre>
  
  <p>And this code when the audio ends:</p>
  
  <pre><code>- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{
  // Remove the observation
  [_player removeObserver:self forKeyPath:@"currentTime"];}
  </code></pre>
  
  <p>For some reason the observer doesn't call to the <code>-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context</code> </p>
  
  <p>I know that I can use NSTImer and trigger it when the audio starts playing but I'm looking for smoother way to do this.
  I also can use AVPlayer object instead and track it by using it's <code>addPeriodicTimeObserverForInterval:queue:usingBlock:</code> 
  But I don't want to lose all the advantages of the AVAudioPlayer object.</p>
  
  <p>What am I doing wrong with the observer?
  Do you have another suggestion how to use AVAudioPlayer and manage tracking after it's currentTime property?</p>
  
  <p>Thanks in advance, </p>