按下后退按钮时,音频停止播放

问题描述 投票:-1回答:1

在我的示例项目中,当点击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按钮返回列表视图控制器时,音频应该继续播放。

ios swift swift3 avplayer avaudioplayer
1个回答
0
投票

玩家:AVPlayer?

在课堂外声明的玩家(mainviewcontroller)

现在它的工作正常

© www.soinside.com 2019 - 2024. All rights reserved.