2017-12-26 6 views
0

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.

+0

Wo ist 'playFunc()' eigentlich genannt? –

+0

@UpholderOfTruth playbtn, previousbtn, nextbtn und viewWillAppear im mainviewcontroller. – PvDev

+0

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. –

Antwort

0

var player: AVPlayer?

erklärt Spieler außerhalb des Unterrichts (Mainviewcontroller)

jetzt seine feine Arbeit

Verwandte Themen