40 lines
1.1 KiB
Swift
40 lines
1.1 KiB
Swift
import HaishinKit
|
|
import UIKit
|
|
|
|
final class ViewController: UIViewController {
|
|
@IBOutlet private weak var lfView: GLHKView!
|
|
|
|
var rtmpConnection = RTMPConnection()
|
|
var rtmpStream: RTMPStream!
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
rtmpStream = RTMPStream(connection: rtmpConnection)
|
|
rtmpConnection.addEventListener(.rtmpStatus, selector: #selector(rtmpStatusHandler), observer: self)
|
|
rtmpConnection.connect(Preference.defaultInstance.uri!)
|
|
}
|
|
|
|
override func viewWillAppear(_ animated: Bool) {
|
|
super.viewWillAppear(animated)
|
|
lfView?.attachStream(rtmpStream)
|
|
}
|
|
|
|
@objc
|
|
func rtmpStatusHandler(_ notification: Notification) {
|
|
let e = Event.from(notification)
|
|
|
|
guard
|
|
let data: ASObject = e.data as? ASObject,
|
|
let code: String = data["code"] as? String else {
|
|
return
|
|
}
|
|
|
|
switch code {
|
|
case RTMPConnection.Code.connectSuccess.rawValue:
|
|
rtmpStream!.play(Preference.defaultInstance.streamName)
|
|
default:
|
|
break
|
|
}
|
|
}
|
|
}
|