AVPlayer занимает много времени, чтобы начать воспроизведение песни с URL - PullRequest
0 голосов
/ 12 мая 2018

я новичок в стремительной разработке. Я работаю над приложением для музыкального плеера.

Я использую AVPlayer для потоковой передачи музыки с URL.Он играет музыку хорошо. Но для того, чтобы начать играть, требуется много времени.Я много искал, и ни одно из решений не помогло мне.я добавляю код, используя ниже.

 func playMusic(){
     player?.replaceCurrentItem(with: nil)
    let url = NSURL(string: musicURL )
    playerItem = AVPlayerItem(url: url! as URL)
    player = AVPlayer(playerItem: playerItem!)
    playerLayer = AVPlayerLayer(player: player)


             if player?.rate != nil{

                player?.play()
               // player?.playImmediately(atRate: 1.0)
                player?.volume = 1.0
                isPlayingDownloadedSong = false
                didAVStreamingPlayerPlayedOnce = true
                isSongLoading = true
                //to get duration only once
                didGetDurationOfCurrentSong = false
                didGetDuration = false 
        self.startLoader()
       musicObserver.playerTimeObserver()
        self.didLoaderTurnedOff = false

        // this is for player page
        NotificationCenter.default.post(name: NSNotification.Name(rawValue: "startLoader"), object: nil)

         NotificationCenter.default.addObserver(self, selector: #selector(playerDidFinishPlaying(note:)), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: playerItem)

                let audioSession = AVAudioSession.sharedInstance()

                do {


                    try audioSession.setCategory(AVAudioSessionCategoryPlayback)
                }
                catch{

                    print("some error happened")
                }

                self.playBtnInMusicPlayer.setImage( imageLiteral(resourceName: "pause"), for: .normal)

                self.musicNameLabelInMusicPlayer.text = songName

            }

    }

я добавил оба эти кода.

automaticallyWaitsToMinimizeStalling = false   
automaticallyWaitsToMinimizeStalling = true


  player?.playImmediately(atRate: 1.0)

пробовал обе строки выше

но ни одна из нихработает для меня .Пожалуйста, помогите мне с этим

1 Ответ

0 голосов
/ 17 мая 2018

Убедитесь, что вы находитесь в сети, где включено сканирование. если да, попробуйте добавить в плейлист URL игры.

Примечание: выше должно быть комментарием, но репутация имеет значение: |

...