я новичок в стремительной разработке. Я работаю над приложением для музыкального плеера.
Я использую 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)
пробовал обе строки выше
но ни одна из нихработает для меня .Пожалуйста, помогите мне с этим