小编Ser*_*les的帖子

如何在 UICollectionView Swift 中内联播放视频?

UICollectionView 将包含视频提要。当用户内联视频时,我希望它播放。使用我当前的设置,一旦加载到集合视图中,就会同时播放几个视频(我想取决于分页)。

如何在 UICollectionView 中内嵌播放视频?

UICollectionView 提要中的一个单元格将包含一个 UIView,它将容纳视频播放器。这是 UIView 的类PlayerViewClass

import Foundation
import UIKit
import AVKit
import AVFoundation

class PlayerViewClass: UIView {

    override static var layerClass: AnyClass {
        return AVPlayerLayer.self
    }

    var playerLayer: AVPlayerLayer {
    
        return layer as! AVPlayerLayer
    }

    var player: AVPlayer? {
        get {
            return playerLayer.player
        }
    
        set {
            playerLayer.player = newValue
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在饲料的的CollectionView cellForItemAt indexPath委托方法FeedViewController如下:

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

     let cell = …
Run Code Online (Sandbox Code Playgroud)

video inline ios uicollectionview swift

5
推荐指数
1
解决办法
4486
查看次数

如何在 Swift 中使用 AgoraRtcEngineKit 创建通道和服务器令牌?

我正在按照 Agora.io频道管理指南使用 AgoraRtcEngineKit for iOS 加入频道。它指出我应该调用createRtcChannelAgoraRtcEngineKit 类来创建一个AgoraRtcChannel带有通道 ID的对象。但是,AgoraRtcEngineKitcreateRtcChannel在 Swift中没有方法。另一种选择是我使用 Obj-C 代码,但这似乎有点 hacky。

其次,按照令牌生成参考,我需要使用 RtcTokenBuilder 生成服务器令牌。它指出“您的令牌需要在您自己的服务器上生成,因此您需要先在服务器上部署一个令牌生成器。” 理想情况下,我将能够在 Swift 中生成令牌,但源代码唯一可用的语言是 C++、Java、Python、PHP、Node.js、Go、Ruby。我想我可以用 JavaScriptCore 做到这一点,但是,就像频道生成一样,这似乎不是一个最佳解决方案。

根据文档:

  • 生成令牌(或临时令牌)后,客户端应在24小时内使用令牌加入频道。否则,您需要生成一个新的令牌(或临时令牌)。

  • 令牌(或临时令牌)在一段时间后到期。当SDK通过onTokenPrivilegeWillExpire或onTokenExpired回调通知客户端token即将过期或已经过期时,需要生成新的token并调用renewToken方法。

  • 令牌编码使用标准的 HMAC/SHA1 方法,这些库可在常见的服务器端开发平台上使用,例如 Node.js、Java、PHP、Python 和 C++。

通过 Agora.io 在 iOS Swift 中使用 AgoraRtcEngineKit 生成频道和令牌以加入频道的标准方法是什么?

提前致谢!

api token ios swift agora.io

2
推荐指数
1
解决办法
2054
查看次数

标签 统计

ios ×2

swift ×2

agora.io ×1

api ×1

inline ×1

token ×1

uicollectionview ×1

video ×1