| | |
| | | |
| | | /// 播放场景音乐 |
| | | func playSceneAt(_ url:String){ |
| | | guard let URL = URL(string: url.jq_urlEncoded()) else { return } |
| | | scenePlayer?.pause() |
| | | checkCacheAudio(from: URL(string: url.jq_urlEncoded())!) {[weak self] state, url in |
| | | guard let weakSelf = self else { return } |
| | | weakSelf.scenePlayer?.pause() |
| | | |
| | | if scenePlayer == nil{ |
| | | scenePlayer = AVPlayer(url: URL) |
| | | }else{ |
| | | scenePlayer?.replaceCurrentItem(with: AVPlayerItem(url: URL)) |
| | | } |
| | | if weakSelf.scenePlayer == nil{ |
| | | weakSelf.scenePlayer = AVPlayer(url: url) |
| | | }else{ |
| | | weakSelf.scenePlayer?.replaceCurrentItem(with: AVPlayerItem(url: url)) |
| | | } |
| | | |
| | | do { |
| | | try AVAudioSession.sharedInstance().setActive(false) |
| | | try AVAudioSession.sharedInstance().setCategory(.ambient, mode: .default, options: []) |
| | | } catch { |
| | | print(error) |
| | | do { |
| | | try AVAudioSession.sharedInstance().setActive(false) |
| | | try AVAudioSession.sharedInstance().setCategory(.ambient, mode: .default, options: []) |
| | | } catch { |
| | | print(error) |
| | | } |
| | | |
| | | DispatchQueue.main.asyncAfter(delay: 0.5) { |
| | | weakSelf.scenePlayer?.play() |
| | | } |
| | | } |
| | | |
| | | DispatchQueue.main.asyncAfter(delay: 0.5) { |
| | | self.scenePlayer?.play() |
| | | // self.scenePlayer?.allowsExternalPlayback = false |
| | | // self.scenePlayer?.usesExternalPlaybackWhileExternalScreenIsActive = false |
| | | } |
| | | } |
| | | |
| | | func dellocScene(){ |
| | |
| | | |
| | | // 检查缓存中是否已存在文件 |
| | | if FileManager.default.fileExists(atPath: videoCacheUrl.path) { |
| | | print("启用缓存") |
| | | completion(true,videoCacheUrl) |
| | | return |
| | | }else{ |
| | | completion(false,url) |
| | | print("没有缓存:执行下载") |
| | | } |
| | | |
| | | // 使用URLSession下载视频 |
| | | let downloadTask = session.downloadTask(with: url) { tempLocalUrl, response, error in |
| | | let downloadTask = session.downloadTask(with: url) { |
| | | tempLocalUrl, response, error in |
| | | print("执行下载任务") |
| | | if let tempLocalUrl = tempLocalUrl, error == nil { |
| | | do { |
| | | let temp = videoCacheUrl |