2016-04-15 4 views
0

の値を設定すると、私はAVAudioPlayerを早送りしています。しかし、私は巻き戻す方法を理解できません。Swiftのレートプロパティを使用して音楽を巻き戻す方法はありますか?

私は、音楽の再生rateがターンテーブルの回転時に変化し、音楽を早送りして巻き戻す(音を聞こえながら)DJアプリケーションを作っています。

これは、ターンテーブルが回転する現在の方法です。 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 { 

      // Code to rewind music goes here.... 
      print("rotateleft") 


     } else { 
      //This code works perfectly and fast forwards the music when spinning turntable to right 
      print("rotateright") 
      musicPlayer.rate = 2.0 
      musicPlayer.play() 
     } 

     previousAngle = angle2 
} 
+0

削除の代わりに2.0をmusicPlayer.currentTimeに追加しようとしましたか?たぶんそれは残り時間からカウントダウンを開始するかもしれない。 –

+0

はい私は追加しようとし、それでもまだ早送りします。 – coding22

答えて

0

currentTimeを現在の値より小さな値に設定することで巻き戻すことができます。

私はこれがいくつか巻き戻すとは思わない可聴方法。あなたは魔法のように、そのような音楽を逆に実行することはありません。 AVAudioPlayerはそれをしません。しかし、プレイポジションを変更して、もう一度(前進)演奏を始めるときに、あなたがいた場所より早く始めるようにします。

AVPlayer(AVAudioPlayerとは対照的に)は逆に再生できますが、特定のAVPlayerItemが許可する場合にのみ再生できます。

+1

私があなたに伝えていることは、あなたがここであなたの質問に与えたのと基本的に同じ情報であることが分かります:http://stackoverflow.com/questions/36587401/how-do-i-fastforward-using-avaudioplayer-while-hearing -the-music同じ質問を何回も繰り返す代わりに、あなたが与えられた答えを聞いてみてください。 – matt

+0

この質問は巻き戻しについてのものであり、早送りに関するものではありません。この質問は、http://stackoverflow.com/questions/36587401/how-do-i-fastforward-using-avaudioplayer-while-hearing-the-musicの複製ではありません。 OPは明らかにどのように早送りするかを知っています(付属の 'touchesMoved'メソッドの通り) –

+0

@AleksanderAzizi AVAudioPlayerで後方に再生できないと言われているので、重複しています。彼はこの事実を受け入れないので、同じ質問を続けている。 – matt

関連する問題