2016-05-20 57 views
0

我的代碼是像這樣很簡單:iOS版雨燕AVAudioPlayer playAtTime方法不起作用

import UIKit 
import AVFoundation 

class VC: UIViewController { 
    var player:AVAudioPlayer! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 
     let url = NSURL.fileURLWithPath(NSBundle.mainBundle().pathForResource("audioName", ofType: "mp3")!) 
     do{ 
      try player = AVAudioPlayer(contentsOfURL: url) 
      print("duration", player.duration)// duration 200 
      player.prepareToPlay() 
      player.playAtTime(50.0) 
     }catch{ 

     } 

    } 
} 

時player.play()被調用,音頻可以正常播放。 我不知道爲什麼playAtTime函數不起作用。 請幫忙!

+0

playAtTime可能無法與currentTime的+ someNumber甚至玩一些數字可以玩,但有些卻不能。我的答案是,設置當前時間並直接調用play()。 – BollMose

回答

1

func playAtTime(time: NSTimeInterval) -> Bool 該功能意味着在未來發揮的聲音一段時間的基礎上,和大於deviceCurrentTime,我建議嘗試:

player.playAtTime(player.currentTime + 50.0)

0

playAtTime播放的聲音在一個時間未來,指定相對於設備的當前時間。所以,時間參數必須是當前設備的時間加上您所需的時間(以秒爲單位):

player.playAtTime(player.currentDeviceTime + 50) 

player.currentTime爲0時,初始化的球員,所以這是不使用的屬性。

蘋果文檔是here