我是swift的新手,但我更喜欢它而不是obj-c,因为与obj-c相比,从语法角度来看,它有点像java。
我现在的问题是,大多数源代码样本都是针对obj-c的,所以它们对我来说是不可读的=)
无论如何,我设法运行了一些这样的代码片段(我不在mac上,但它们很相似):
let steamingURL:NSURL = NSURL(string: "http://....")!
let player = AVPlayer(URL: steamingURL)
player.allowsExternalPlayback = false
PlayWorkoutViewController.playerController = AVPlayerViewController()
PlayWorkoutViewController.playerController.player = player
self.addChildViewController(PlayWorkoutViewController.playerController)
self.view.addSubview(PlayWorkoutViewController.playerController.view)
PlayWorkoutViewController.playerController.view.frame = videoContainerView.frame
PlayWorkoutViewController.playerController.showsPlaybackControls = false
player.play()
导致一个播放按钮有一条线穿过它,它不播放流。根据VLCPlayer,流源是mpg1/2流,它来自基于Linux的卫星接收器。
我试图改变的另一件事是";字符串:";部分到";fileURLWithPath:";NSURL变量,但这也不起作用。
有没有缓冲流的方法,或者这只是编解码器的问题,我有什么解决方案?
我犹豫了三天,希望这不是一个重复的问题,谢谢。
编辑:stream.m3u文件的内容:
EXTM3U
EXTVLCOPT--http reconnect=true 192.168.178.20:8001/1:0:1:445D:453:1:C000:0:0:0:
安全设置可能是个问题。转到info.plist并添加"应用程序传输安全设置"。在下面添加"允许任意加载"并将其设置为YES。我希望这能解决问题。