【问题标题】:Live Streaming in SwiftSwift 中的实时流式传输
【发布时间】:2014-09-21 15:04:56
【问题描述】:

我需要在 SWIFT 中创建一个实时流媒体应用程序

使用 AVFoundation 框架(AVPLayer 和 AVPlayeritem)尝试了多种方法,但没有成功

这只是音频,所以我不想以 webview 的方式来做。

提前致谢

【问题讨论】:

    标签: xcode swift streaming xcode6 avplayer


    【解决方案1】:

    您可以尝试利用 VideoCore 库将这些框架包装到一个完整的流包中。有了这个包,您可以轻松地开始发布。考虑以下几点(从他们的示例项目中复制):

    启动连接(Obj-C):

    VCSimpleSession *sess = [[VCSimpleSession alloc] initWithVideoSize:CGSizeMake(width, height) frameRate:frameRate bitrate:bitrate] useInterfaceOrientation:YES];
    sess.delegate = self;
    

    启动连接(Swift):

    var sess:VCSimpleSession = VCSimpleSession(videoSize: CGSize(width: width, height: height), frameRate: frameRate, bitrate: bitRate, useInterfaceOrientation: false)
    sess.delegate = self;
    

    利用事件处理程序(Obj-C):

    - (void) connectionStatusChanged:(VCSessionState) state{
       if(state==VCSessionStateStarting){
          // connecting to destination host
       }
       else if(state==VCSessionStateStarted){
         // connected, streaming has begun
       }
       // ... etc
    }
    

    利用事件处理程序(Swift):

    func connectionStatusChanged(sessionState: VCSessionState) {
            switch session.rtmpSessionState {
            case .Starting:
                // initiating connection
    
            case .Started:
                // connected
    
            default:
               // connect
            }
        }
    

    或者,您可以使用付费 SDK 获得支持,例如 Wowza's GoCoder SDK。更多选择和稳定的基础设施。

    谢谢

    马特

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 2016-04-16
      • 2017-05-18
      • 1970-01-01
      • 2011-08-01
      相关资源
      最近更新 更多