2017-05-15 9 views
-1

私は最初のmacOS-Appをビルドしたいと思っています。その目的は、ラジオストリームを選択して再生できることです。しかし、それは動作しません。ここでOSXのシンプルなWebラジオストリーム

は、コードは次のとおりです。

import Cocoa 
import AVFoundation 
import AVKit 

class ViewController: NSViewController { 

@IBOutlet weak var RadioList: NSPopUpButton! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let RadioListArray = ["Unser Radio", "Antenne"] 

    RadioList.removeAllItems() 
    RadioList.addItems(withTitles: RadioListArray) 
    RadioList.selectItem(at: 0) 
} 

override var representedObject: Any? { 
    didSet { 
    // Update the view, if already loaded. 
    } 
} 

@IBAction func PlayStopButton(_ sender: AnyObject) { 

    var url = String() 

    switch RadioList.indexOfSelectedItem { 
    case 0: 
     url = "http://rs4.stream24.net:80/unser-radio.mp3" 
    case 1: 
     url = "http://mp3channels.webradio.antenne.de/antenne" 
    default: 
     print("nothing") 
    } 
    Stream(url: url) 
} 

func Stream(url: String) 
{ 
    print(url) 

    let player = AVPlayer(url: URL(string: url)!) 
    let playerLayer = AVPlayerLayer(player: player) 
    playerLayer.frame = self.view.bounds 
    self.view.layer?.addSublayer(playerLayer) 
    player.play() 
} 
} 

ストリーミングがうまく起動するよりも、私は、URLの直接ブラウザにコピーするとき。私はビデオを挿入すると、ビデオはアプリケーションで開始します。

audiostreamingのために特別なものはありますか?

答えて

1

これは、Appleがデフォルトでhttpのコンテンツを読み込めないためです。それは安全ではないので、 リソース負荷:デバッグコンソールに密接に見える場合は、このエラー以下

を持っているかもしれないのApp交通セキュリティは平文HTTP(// HTTP)をブロックしています。一時的な例外は、アプリのInfo.plistファイルで設定された になります。ちょうどあなたのinfo.plistファイル

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSAllowsArbitraryLoads</key> 
     <true/> 
    </dict> 

詳細な情報は、SO

に答える thisで見つけることができますに、以下の追加それを解決するために

関連する問題