2015-10-01 147 views
-2

我有下面显示的代码。它看起来很简单。但它没有播放任何音频。我该如何修改这个func用AVPlayer播放pls文件?

import AVFoundation 
import MediaPlayer 


func play(){ 
    let player = AVPlayer(URL: NSURL(string: "http://www.liveatc.net/play/ltba.pls")!) 
    player.play() 
} 

回答

1

问题是player是一个局部变量。它存在两行play()并在烟雾中消失。所以在它有机会玩之前,它已经消失了。你让它玩,然后你立即杀死它!不大好。它想要做您的出价,但你从来没有给它一个机会......

只要它提升的任何类,这是一个实例变量:

var player : AVPlayer! 
func play(){ 
    self.player = AVPlayer(URL: NSURL(string: "http://www.liveatc.net/play/ltba.pls")!) 
    self.player.play() 
} 
+0

您的代码表明你不理解的Swift中变量的生命周期。您可能需要阅读我的书:http://www.apeth.com/swiftBook/ch03.html#_variable_scope_and_lifetime – matt

+0

thanks_________ @matt –