-1
私は曲を再生する基本的な音楽アプリを作っています。手動で曲をスクラブするまではうまくいきますが、NStimerを追加して曲を再生して自動的にスクラブすると、アプリがクラッシュします。ヘルプは高く評価されます!AVAudioplayerオーディオプレーヤーがUisliderのクラッシュを起こしている
var player:AVAudioPlayer = AVAudioPlayer() @IBAction func play(sender: AnyObject) { player.play() } @IBOutlet var volumeSlider: UISlider! @IBAction func adjustVolume(sender: AnyObject) { player.volume = volumeSlider.value } @IBOutlet var scrub: UISlider! @IBAction func adjustScrub(sender: AnyObject) { player.currentTime = NSTimeInterval(scrub.value) } @IBAction func pause(sender: AnyObject) { player.pause() } @IBAction func stop(sender: AnyObject) { player.pause() do { try player = AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("001 JIS GALI MEIN TERA GHAR - KATI PATANG", ofType: "mp3")!)) }catch{ //didnt work } } override func viewDidLoad() { super.viewDidLoad() do { try player = AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("001 JIS GALI MEIN TERA GHAR - KATI PATANG", ofType: "mp3")!)) var timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: Selector("updateSlider"), userInfo: nil, repeats: true) scrub.maximumValue = Float(player.duration) }catch{ //didnt work } func updateSlider() { scrub.value = Float(player.currentTime) } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
に役立ちますか? – user3353890