2015-07-24 1 views
0

Я использую AVAudioPlayer для своего приложения, и когда контроллер просмотра загружает аудио, воспроизводятся автоматически по мере загрузки вида, но как я могу сделать оператор, если звук не может найти этот файл и когда он не могу найти файл, я хочу, чтобы появилось предупреждающее сообщение о том, что звук не найден.Swift: Сделать обработчик ошибок AVAudioPlayer

Код:

var euphoriaAudio = try! AVAudioPlayer(contentsOfURL: 
NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Euphoria", ofType: "mp3")!)) 

Примечание: Эта переменная декларация не является какой-либо функции. Он находится вне сидящего в классе, который отлично работает.

ответ

1

Должно делать все, что вы описали.

class EuphoriaViewController: UIViewController { 
    var player: AVAudioPlayer? 

    private func showAlert(message: String) { 
    let alert = UIAlertController(title: "Warning", 
     message: message, 
     preferredStyle: .Alert) 

    let ok = UIAlertAction(title: "OK", style: .Default) { action in 
     // Execute some code upon OK tap here if you'd like 
    } 

    alert.addAction(ok) 
    presentViewController(alert, animated: true, completion: nil) 
    } 

    override func viewDidLoad() { 
    super.viewDidLoad() 
    guard let fileURL = NSBundle.mainBundle().URLForResource("Euphoria",withExtension: "mp3") else { 
     showAlert("Can't find Euphoria.mp3 resource") 
     return 
    } 
    do { 
     player = try AVAudioPlayer(contentsOfURL: fileURL) 
     player?.prepareToPlay() 
    } 
    catch { 
     showAlert("Can't load Euphoria.mp3 resource") 
    } 
    } 

    override func viewDidAppear(animated: Bool) { 
    super.viewDidAppear(animated) 
    player?.play() 
    } 
} 

В следующий раз, попробуйте сами и задать вопросы, как - я это сделал, но он не работает, вот код, ...

Если вы не знаете, как отобразить предупреждение ... вы должны начать с Start developing iOS Apps Today, About iOS App Architecture, iOS HIG, ...

Также вы должны прочитать How do I ask a good question, чтобы получить ваши ответы на вопросы в будущем. Пока у вас есть 10 вопросов, некоторые из них ответили, 3 из них с принятым ответом, ... Попробуйте спросить лучше ...

+0

Отличные предложения, @robertvojta !!! Приятно, что вы нашли время, чтобы дать такой совет :-) – rholmes