我需要流式传输在线广播电台以使用swift将其放入ios应用。我的正在运行,但没有在玩。
var player:AVPlayer?
var playerItem:AVPlayerItem?
var playButton:UIButton?
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let url = URL(string: "http://www.vdee.org:8000/salinasMim")
let playerItem:AVPlayerItem = AVPlayerItem(url: url!)
player = AVPlayer(playerItem: playerItem)
let playerLayer=AVPlayerLayer(player: player!)
playerLayer.frame=CGRect(x:0, y:0, width:10, height:50)
self.view.layer.addSublayer(playerLayer)
playButton = UIButton(type: UIButton.ButtonType.system) as UIButton
let xPostion:CGFloat = 50
let yPostion:CGFloat = 100
let buttonWidth:CGFloat = 150
let buttonHeight:CGFloat = 45
playButton!.frame = CGRect(x: xPostion, y: yPostion, width: buttonWidth, height: buttonHeight)
playButton!.backgroundColor = UIColor.lightGray
playButton!.setTitle("Play", for: UIControl.State.normal)
playButton!.tintColor = UIColor.black
playButton!.addTarget(self, action: #selector(ViewController.playButtonTapped(_:)), for: .touchUpInside)
self.view.addSubview(playButton!)
}
@objc func playButtonTapped(_ sender:UIButton)
{
if player?.rate == 0
{
player!.play()
//playButton!.setImage(UIImage(named: "player_control_pause_50px.png"), forState: UIControlState.Normal)
playButton!.setTitle("Pause", for: UIControl.State.normal)
} else {
player!.pause()
//playButton!.setImage(UIImage(named: "player_control_play_50px.png"), forState: UIControlState.Normal)
playButton!.setTitle("Play", for: UIControl.State.normal)
}
}
答案 0 :(得分:1)
我检查了您的代码。它可以在低于VOD的内容下正常工作,并且也可以与DTV内容一起工作。
https://cstr-vod.castr.io/vdafddac30977c11e9bdcb/71983cc5-f510-4b36-b77a-fc3d216e15d3/index.m3u8
http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
我无法从您的网址获得回复:http://www.vdee.org:8000/salinasMim
请使用以下URL:http://www.vdee.org:8000/salinas 此DTV内容运行正常,请检查。您只能将音频作为音频内容收听。
答案 1 :(得分:0)
var player:AVPlayer?
var playerItem:AVPlayerItem?
var playButton:UIButton?
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
//https://cstr-vod.castr.io/vdafddac30977c11e9bdcb/71983cc5-f510-4b36-b77a-fc3d216e15d3/index.m3u8
//http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
let url = URL(string: "http://www.vdee.org:8000/salinas")
let playerItem:AVPlayerItem = AVPlayerItem(url: url!)
player = AVPlayer(playerItem: playerItem)
let playerLayer=AVPlayerLayer(player: player!)
playerLayer.frame=CGRect(x:0, y:0, width:10, height:50)
self.view.layer.addSublayer(playerLayer)
playButton = UIButton(type: UIButton.ButtonType.system) as UIButton
let xPostion:CGFloat = 50
let yPostion:CGFloat = 100
let buttonWidth:CGFloat = 150
let buttonHeight:CGFloat = 45
playButton!.frame = CGRect(x: xPostion, y: yPostion, width: buttonWidth, height: buttonHeight)
playButton!.backgroundColor = UIColor.lightGray
playButton!.setTitle("Play", for: UIControl.State.normal)
playButton!.tintColor = UIColor.black
playButton!.addTarget(self, action: #selector(ViewController.playButtonTapped(_:)), for: .touchUpInside)
self.view.addSubview(playButton!)
}
@objc func playButtonTapped(_ sender:UIButton)
{
if player?.rate == 0
{
player!.play()
//playButton!.setImage(UIImage(named: "player_control_pause_50px.png"), forState: UIControlState.Normal)
playButton!.setTitle("Pause", for: UIControl.State.normal)
} else {
player!.pause()
//playButton!.setImage(UIImage(named: "player_control_play_50px.png"), forState: UIControlState.Normal)
playButton!.setTitle("Play", for: UIControl.State.normal)
}
}