我在一张桌子上播放电台,并试图弄清楚如何在点击单元格时暂停电台。我可以让它发挥但不停顿。无论如何还要表明当前的小区正在播放。我想知道因为我无法在cellforindexpath函数之外访问我的自定义单元格。这是我的代码。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let myCell:BroadcastTableViewCell = tableView.dequeueReusableCellWithIdentifier("myCell", forIndexPath: indexPath) as! BroadcastTableViewCell
// Configure the cell...
myCell.broadcaster.text = broadcasters[indexPath.row]
myCell.isBroadcasting.text = timePlayed[indexPath.row]
return myCell
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// self.performSegueWithIdentifier("toBroadcastView", sender: self)
self.player = AVPlayer(URL: NSURL(string: stations[indexPath.row]))
if selectedPath == indexPath.row{
if status == 0{
player.play()
status += 1
}else{
player.pause()
status -= 1
}
}else{
status = 0
player.play()
}
selectedPath = indexPath.row
}
答案 0 :(得分:3)
AVPlayer的rate
属性在未播放时为= 0.0,在播放时为< = 1.0。
如果您只想让一个广播电台同时播放,您可以在单个类中实例化AVPlayer,并根据正在播放的电台更改AVPlayerItem。通过这种方式,您将只有一个AVPlayer实例,而不是检查该自定义单元格是否正在播放,您可以检查AVPlayer本身是否正在播放。