2016-09-13 6 views
2

私はちょうどSwift 3に変換しました。このエラーで助けが必要です。私は昨日3スイフトに変換したときにこのエラーが発生し、この完全なコードは素晴らしい仕事をしていた。私は試してみましたか?その中にエラーを修正しなかったのは同じです。キャッチなしSwift 3.0:引数ラベル '(_ :)は使用可能なオーバーロードと一致しません

do { 
     try AVAudioSession.sharedInstance().setActive(true) 
} catch { 

} 

import Foundation 
import AVFoundation 

class AudioHelper: NSObject, AVAudioPlayerDelegate { 
    var player : AVAudioPlayer? 


    class var defaultHelper : AudioHelper { 
     struct Static { 
      static let instance : AudioHelper = AudioHelper() 
     } 

     return Static.instance 
    } 

    override init() { 
     super.init() 
    } 

    func initializeAudio() { 
     let url = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("", ofType: "")!) 
     self.player = try! AVAudioPlayer(contentsOfURL: url, fileTypeHint: nil) 
     self.player?.numberOfLoops = -1 
     self.player?.play()   
    } 

    func stopAudio() { 
     self.player?.stop() 
     self.player?.prepareToPlay() 
    } 

    func startAudio() { 
      AVAudioSession.sharedInstance().setActive(true, error: nil) 
      self.player?.play() 
    } 


    func audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool) { 
     AVAudioSession.sharedInstance().setActive(false, error: nil) 
    } 
} 
+0

http://i.stack.imgur.com/irdef.pngの画像 – Bran

+2

'setActive(_ :)'メソッドの[documentation](https://developer.apple.com/reference/avfoundation/avaudiosession/1616597-setactive)を見てください。エラーパラメータを取る代わりにスローします。したがって、エラーパラメータを削除して、エラーがスローされても気にしない場合は、 'try?'を呼び出しの前に付けてください。 – Hamish

+0

また、おそらくより良いdupeターゲット[Swift 2 AVAudioSession setCategory余分な引数 'error'](http://stackoverflow.com/questions/32878965/swift-2-avaudiosession-setcategory-extra-argument-error) – Hamish

答えて

2

あなたはこれらの方法で例外を処理することができ、エラーの

try? AVAudioSession.sharedInstance().setActive(true) 
関連する問題