在我的示例项目中,当点击czsm bar按钮项时,音频应该继续播放而不是停止。
以下是列出歌曲的代码:
import Firebase
import Nuke
struct getSongIndex {
static var selectedIndex : NSInteger!
static var selectedUrl : String?
static var selectedArtistName : String?
static var selectedSongName : String?
static var arrayurl = [String]()
static var arraysongname = [String]()
static var arrayartistname = [String]()
static var arrayimageurl = [String]()
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath:
IndexPath)
{
getSongIndex.selectedIndex = indexPath.row
print("selected index is:::",getSongIndex.selectedIndex)
getSongIndex.selectedUrl = musicList[indexPath.row].songUrl
getSongIndex.selectedSongName = musicList[indexPath.row].songName
getSongIndex.selectedArtistName = musicList[indexPath.row].artistName
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier:
"ViewController") as! MainViewController
self.navigationController!.pushViewController(vc, animated: true)
}
这是播放歌曲的代码,当选择一首歌曲时,它会导航到mainviewcontroller进行播放。
var musiclist = [MusicList]()
var player : AVPlayer?
var playerItem : AVPlayerItem?
var playButton : UIButton?
var isClicked : Bool = false
var songPostion : NSInteger = 0
var someValue : NSInteger = 0
var getsongPostion : NSInteger = 0
var getSongUrl : String?
var getArtistName : String?
var getSongName : String?
func playFunc(){
if getSongIndex.arrayurl.count > getsongPostion{
centerButton.isHidden = true
playButton?.isHidden = true
pauseButton.isHidden = false
let url = URL(string: getSongIndex.arrayurl[getsongPostion])
let playerItem:AVPlayerItem = AVPlayerItem(url: url!)
player = AVPlayer(playerItem: playerItem)
if player?.rate == 0
{
player!.play()
} else {
player!.pause()
}
songName.text = getSongIndex.arraysongname[getsongPostion]
artistName.text = getSongIndex.arrayartistname[getsongPostion]
}
}
但是,当我按下czsm按钮返回列表视图控制器时,音频应该继续播放。
玩家:AVPlayer?
在课堂外声明的玩家(mainviewcontroller)
现在它的工作正常