我正在用Swift 3製作iOS Radio應用程序!現在它正在工作和播放所有的URL地址音頻流。但是,當我在工作場所時,Wifi對Play音頻流進行限制,因此該應用僅適用於Mobile Data。我如何檢測我的音頻流url無法通過iOS設備播放 - swift3
當我點擊播放按鈕時,它會變成暫停並且不發送任何聲音,它不會播放,控制檯也不會顯示任何連接錯誤或類似的東西。我想知道當某些WIFI網絡的防火牆或代理阻止我的應用發送一些UIAlert並將暫停圖標更改爲播放(如果我不這樣做,用戶將等待音樂)。
我使用Swift 3.0 Xcode 8,AVPlayer播放音頻。我已經嘗試過.addPeriodicTimerObserver,我已經驗證了網址並做了很多事情,但我無法得到我期待的結果。有人能幫我嗎?
var urlStreaming:String = "http://someurl"
playerStreaming = AVPlayer(url: URL(string: url)!)
playerLayer = AVPlayerLayer(player: playerStreaming)
playerLayer.frame = CGRect(x:0, y: 0, width:1, height: 10)
self.view.layer.addsublayer(playerLayer)
playerStreaming?.play()
我playerStreaming?.play()
沒有給我什麼時,不能玩,因爲它開始嘗試播放,但在幾秒鐘後停止,它不發送任何東西。當我使用工作場所的WIFI連接時,它會發生,但如果我將其更改爲移動數據,我可以聽音頻。如果我從另一個WiFi連接播放例如我的房子,公園或星巴克咖啡無線電我可以聽它也沒有問題。
我知道在我的工作場所的Wifi連接有限制(阻止防火牆或代理實際上我不知道),音頻流。
我一直在尋找很多選擇,我嘗試了所有這些選項,但我得到了我期待的結果。
你能幫我嗎?
謝謝!我現在要檢查它!我想我已經使用過了,但我會再次測試它! :)我應該寫在viewDidLoad func?或playerStreaming之後?.play() – Cristofer
@Cristofer只要在開始播放前任何時候添加觀察者就可以了,因此您將獲得事件 – zombie
我沒有工作兄弟!不管怎樣,謝謝你!我發佈了我目前的解決方案,我將嘗試找到另一個更好的解決方案! @zombie – Cristofer