In meinem Beispielprojekt, wenn czsm bar-Button-Element angetippt wird, sollte das Audio weiterzuspielen statt zu stoppen. HierAudio stoppt, wenn Zurück-Taste gedrückt wird
ist der Code, der die Songs aufgeführt:
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)
}
Hier ist der Code für die Songs zu spielen, wenn ein Song ausgewählt wird es Mainviewcontroller navigiert es zu spielen.
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]
}
}
Allerdings, wenn ich die czsm-Taste zurück in die Listenansicht Controller zu gehen, sollte die Audio-Wiedergabe fortzusetzen.
Wo ist 'playFunc()' eigentlich genannt? –
@UpholderOfTruth playbtn, previousbtn, nextbtn und viewWillAppear im mainviewcontroller. – PvDev
Dies kann passieren, wenn Ihr Spielerobjekt außer Reichweite gerät und entsorgt wird. Wie wird die Navigation zwischen den beiden View-Controllern gehandhabt, d. H. Wenn Sie zurück zum Listenansicht-Controller navigieren, wird der Hauptansicht-Controller verworfen. –