2013-03-11 13 views
5

私は同じ問題に関する複数の質問があることを知っていますが、this one'sの提案に続いて、私はいくつかの問題にぶつかります。AVQueuePlayerでサウンドキューをループするにはどうすればいいですか?

私はすべてセットアップしましたが、私はkMTTimeZeroを使うたびにマッハエラーに遭遇します。

soundQueue = [AVQueuePlayer queuePlayerWithItems:soundEmotions]; 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(playerItemDidReachEnd:) 
               name:AVPlayerItemDidPlayToEndTimeNotification 
               object:[soundEmotions lastObject]]; 

これは私がやったことです。

- (void)playerItemDidReachEnd:(NSNotification *)notification { 
    // Do stuff here 
    NSLog(@"End has been reached."); 

    // Set it back to the beginning 
    [soundQueue seekToTime:kCMTimeZero]; 

    //Replay 
    [soundQueue play]; 

} 

ERROR: Undefined symbols for architecture armv7: "_kCMTimeZero", referenced from: -[ViewController playerItemDidReachEnd:] in ViewController.o ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

答えて

17

kCMTimeZeroCoreMedia.frameworkではシンボルであり、したがって、あなたは、あなたのターゲットの「フェーズを構築する」の「リンクのバイナリとライブラリ」セクションに、このフレームワークを追加する必要があります。

+0

ありがとうございました!私はフレームワークを追加し、それはうまく構築されますが、何らかの理由でサウンドをループしません。私はそれを正しくしていませんか?ありがとう! – KingPolygon

+0

私はそれを考え出した!ありがとう、結構です! – KingPolygon

+0

@ KingPolygon、あなたはAVQueuePlayerループを作るために何をしましたか? – Raphael

0

私は最後の項目を観察にこのアプローチを使用して、seek to kCMTimeZero

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { 

     if keyPath == "currentItem" { 

      print("Next Track...", currentTrackIndex) 

      if currentTrackIndex > 0 { 
       self.isPlaying = true 
      } 

      currentTrackIndex += 1 
      if currentTrackIndex > playerQueue.items().count { 
       currentTrackIndex = 0 
       playerQueue.seek(to: kCMTimeZero) 
      } 
     } 
    } 

をそして

private func observeTrackChanged(of player : AVQueuePlayer) { 

     player.addObserver(self, forKeyPath: "currentItem", options: .new, context: nil) 
    } 
関連する問題