2016-04-14 2 views
0

Im играет музыку, используя AVAudioPlayer, и вам нужна помощь в перемотке музыки. Я получил его, чтобы ускорить работу с помощью rate = 2.0, но теперь я не уверен, как перематывать музыку, используя свойство rate или что-то еще. Может кто-то, пожалуйста, помогите мне понять это. Спасибо!Есть ли способ перемотки музыки с помощью AVAudioPlayer?

override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) { 

    for touch in touches { 
     let location = touch.locationInNode(self) 
     let node = self.nodeAtPoint(location) 


     //this is for the left turntable 
     if node.name == "lefttt" { 

      //lets user rotate left turntable when there is one finger on turntable. 
      let dy = leftTurntable.position.y - location.y 
      let dx = leftTurntable.position.x - location.x 
      let angle2 = atan2(dy, dx) 
      leftTurntable.zRotation = angle2 


      let delta = (angle2 - previousAngle) 
      if delta > 0 { 

       //rewind code 
       print("rotateleft") 
      } 
      else { 
       print("rotateright") 

       musicPlayer.rate = 2 
       musicPlayer.play() 


      } 
      previousAngle = angle2 
     } 

ответ

0

AVAudioPlayer не предоставляет прямой метод перемотать music.but вы можете установить свойство «CURRENTTIME» от слайдера кнопки/или любым другим способом вручную

яблочная документ: currentTime

Установив это свойство, вы можете найти конкретную точку в звуке или реализовать функции быстрой перемотки вперед и назад.


Или, если вы хотите использовать свойство скорости вы можете использовать AVPlayer. который поддерживает перемотку со скоростью также: Дополнительную информацию о AVPlayer перематывайте здесь: https://stackoverflow.com/a/10761446/4557505

+0

Да, но мне нужно будет изменить свой код на AVPlayer, чтобы заставить его работать. Я пробовал использовать текущее время, и он перематывается, но я не слышу никакого звука при перемотке назад. – coding22