title: How to stop song when click again on table view and play another song when click another cell
body: <p>I have some songs and showing in tableview. When I press cell it's play the song. I want to stop when I touch the same cell but if I touch another cell I want to make it still playing with new song.</p>
  
  <pre><code>extension SoundsViewController: UITableViewDataSource,UITableViewDelegate{
  func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
      return songs.count
  }
  func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -&gt; UITableViewCell {
      let cell = myTableView.dequeueReusableCell(withIdentifier: "soundsCell") as! SoundsTableViewCell
      cell.soundPicture.image = UIImage(named: "cell1")
      cell.soundLabel.text = songs[indexPath.row]
      cell.playStopImage.image = UIImage(named: "play")
  
      if selectedItemIndex == indexPath.row {
        cell.playStopImage.image = UIImage(named: "pause")
      }
      return cell
  }
  func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -&gt; CGFloat {
      return 120
  }
  func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
      self.selectedItemIndex = indexPath.row
      playSong(song: songs[indexPath.row], selectedItemIndex: selectedItemIndex!)
      self.myTableView.reloadData()
  }
  </code></pre>
  
  <p>}</p>
  
  <pre><code>func playSong(song: String, selectedItemIndex: Int){
      do {
          audioPlayer = try AVAudioPlayer(contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: song, ofType: "mp3")!))
          audioPlayer.numberOfLoops = -1
          audioPlayer.play()
          var audioSession = AVAudioSession.sharedInstance()
          do {
              try audioSession.setCategory(AVAudioSessionCategoryPlayback)
          }catch{
              print(error)
          }
      }catch{
          print(error)
      }
  }
  </code></pre>