Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 从url开始播放歌曲需要很多时间_Swift_Avplayer_Avplayeritem - Fatal编程技术网

Swift 从url开始播放歌曲需要很多时间

Swift 从url开始播放歌曲需要很多时间,swift,avplayer,avplayeritem,Swift,Avplayer,Avplayeritem,我是swift开发的新手。我正在开发一款音乐播放器应用程序 我正在使用AVPlayer从url流式播放音乐。它演奏的音乐很好,但开始演奏需要很多时间。我搜索了很多,但没有一个解决方案对我有效。我正在添加我在下面使用的代码 func playMusic(){ player?.replaceCurrentItem(with: nil) let url = NSURL(string: musicURL ) playerItem = AVPlayerItem(url: url

我是swift开发的新手。我正在开发一款音乐播放器应用程序

我正在使用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)
我试过上面两行


但是没有一个适合我。请帮我做这个

检查您是否在启用扫描的网络中。如果是,请尝试将播放url列入白名单


注意:上面应该是一个注释,但是声誉很重要:|

这个值
自动等待最小化设置
设置为真还是假?我的意思是,我尝试了这两种方法@a.masriautomaticallywaitsto最小化设置应该为假,因为缓冲时间更短。谢谢回复。但我不明白你的任何条款。我怎样才能做你尝试过的所有事情。>我是说你正在使用的网络。如果您使用的是公司/机构网络,请尝试在手机/移动网络中播放。