播放缓存的视频文件

时间:2017-06-13 12:27:15

标签: ios swift caching avplayer player-swift

我想播放一个从服务器获取的视频文件。我可以补充说我正在使用以下插件Player(它看起来与AVPlayer非常相似)。就像在AVPlayer中一样,可以设置这样的网址self.player.url = URL(string: video!)(视频是URL),然后下载视频文件,然后播放。但是,由于我想缓存视频,我希望播放实际文件。我该如何播放该文件?我是否需要将其转换为NSData或获取其文件路径,如this question所示(他称之为" hacky方式获取文件路径")?图书馆说人们可以这样做:

let videoUrl: NSURL = // file or http url
self.player.setUrl(videoUrl)

但我无法看到我可以在其中放置文件的方式,因为它不是网址...

对于缓存,我使用另一个名为Carlos的库。正如建议我做一个简单的请求,看看它是否成功。如果确实成功,我希望文件在播放器中使用:

let request = HomeController().cache.get(URL(string: video!)!)

//success means a file is downloaded (in this case "videoFile") and a value for a key is set on the memory cache (the key is going to be the URL (on server))
request.onSuccess { videoFile in

    //I can print the file
    print("The file: \(videoFile)")

    //WITHOUT CACHE: just enter URL to video (on server)
    //self.player.url = URL(string: video!) 

    //how to do it WITH CACHE?
    self.player. 

    self.player.playbackLoops = true

}
.onFailure { error in

    print("An error occurred :( \(error)")

} 

我也愿意使用AVPlayer而不是库来解决问题。

编辑:输出:

由于文件大1.2 MB,我将提供明星和结尾......

如何开始:

The file <0000001c 66747970 6d703432 00000001 6d703431 6d703432 69736f6d 00000008 77696465 001442b8 6d646174 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00cc0007 00f85500 4ca0f24a ab56b172 8a912aaa aaa80044 5d965965 96594420 7000fc99 3ef8866a ec633459 a614f7e0 e355a9be ff8f7d67 15d79712 fff4f123 5777c6ba 4e6f111c 059e33c8 7149cda6 ...

如何结束

... 73000023 32000009 71000013 ea000009 9f000011 87000005 4e000016 1a000007 c1000014 e1000007 53000013 b4000003 c4000015 0b000005 0e000012 17000008 60000013 9800000a 0a00001a 0500000a cd000015 93000008 5c000014 47000009 b7000016 0c00000a 6b000016 2b00000a 43000016 0e000008 4100001b bd000007 dd000010 ee000006 a8000014 20000007 41000016 e6000007 27000013 54000005 84000015 90000007 9700001a 41000008 f1000017 f2000005 df000011 fb000008 0d000011 69000006 51000015 2f000005 c9000015 2e000006 9b000016 24000005 42000014 e8000005 fb000015 bb000006 58000019 0b000005 f5000011 ae000005 c700000f e7000005 75000010 40000005 0300000e e9000005 cc00000e 2e000005 e5000012 67000004 c7000019 17000005 bc00001a 4e000008 ce00001c 6b000009 0e00001c 23000006 cc000017 ff000005 c5000019 32000007 22000017 d7000006 ce000019 2e000006 9600001a 20000005 fb000011 61000005 fb000012 0b000005 df000012 dc000006 b2000010 35000005 4b000014 5a000005 26000011 c0000004 99000014 16000004 b400001b d1000006 f8000011 25000006 4a00000e bd000005 c6000011 85000005 b2000013 24000004 6900000f 6a000005 f300000e 57000005 bc000012 6d000055 f000000e 2b000003 d300000e a7000003 8700000f 0d000004 26000015 00000000 5c737463 6f000000 00000000 13000030 a9000152 ea000268 8500035b f4000472 9a00057c 2800068e 4300079f ad0008b1 3c0009a8 41000aba fe000bc9 6d000cee ab000dbe 1b000ec8 7c000fa9 eb001089 87001138 1a0012e7 31>

0 个答案:

没有答案