2016-01-13 3 views
0

я ставлю песни в таблицу, и когда я играю песню в детали страницы работы, и когда я вернусь стоп песню я хочу продолжить играть во всех видахкак сделать музыку Продолжить играть во всех видах

ViewController

if let audio=NSBundle.mainBundle().pathForResource(navigationItem.title , ofType: "mp3") { 
    let url=NSURL (fileURLWithPath: audio) 

    do { 
     player = try AVAudioPlayer (contentsOfURL: url) 
    } 

    catch{"erorr"}  

    player.play()    
} else { 
    print("erorr") 
} 

tableViewController

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    self.performSegueWithIdentifier("indeaa", sender: tableView) 
} 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "indeaa" { 
     let vc = segue.destinationViewController as UIViewController 
     let indexpath:NSIndexPath = tableaa.indexPathForSelectedRow! 
     vc.title = arr[indexpath.row] 
    } 
} 
+0

Чтобы уточнить, у вас есть View A, который выводит на просмотр B. View B воспроизводит звук, и когда вы переходите обратно в View A, звук останавливается. Это верно? – kpsharp

+0

Да ........... –

+0

Отметьте ответ @toast ниже. Это то, что вы хотите. – kpsharp

ответ

1

игрок вероятно получение выпущен с целью. Вам нужно будет сделать ваш плеер доступным для всех подробных представлений и ссылаться на этот единственный объект. Если вы ищете простое решение, просто создать синглтон, все они могут ссылка:

class AudioPlayer{ 

    static let sharedInstance = new AudioPlayer(); 

    var player : AVAudioPlayer 

    func playAudio(url : NSURL){ 

    //see if player is playing, stop and release, setup new player 

    } 

} 

Тогда из вашей точки зрения детали просто позвонить

AudioPlayer.sharedInstance.playAudio(url) 

Примечания это не проверено - но только показывает основную идею.

Смежные вопросы