首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在swift中将麦克风和InApp音频CMSampleBuffer发送到webRTC?

如何在swift中将麦克风和InApp音频CMSampleBuffer发送到webRTC?
EN

Stack Overflow用户
提问于 2019-09-20 22:35:28
回答 1查看 1.1K关注 0票数 1

我正在做屏幕上的广播应用。我想在WebRTC服务器上发送我的屏幕录像。

代码语言:javascript
复制
override func processSampleBuffer(_ sampleBuffer: CMSampleBuffer, with sampleBufferType: RPSampleBufferType) {
        //if source!.isSocketConnected {
            switch sampleBufferType {
            case RPSampleBufferType.video:
                // Handle video sample buffer
                source?.processVideoSampleBuffer(sampleBuffer)
                break
            case RPSampleBufferType.audioApp:
                // Handle audio sample buffer for app audio
                source?.processInAppAudioSampleBuffer(sampleBuffer)

                break
            case RPSampleBufferType.audioMic:
                // Handle audio sample buffer for mic audio
                source?.processAudioSampleBuffer(sampleBuffer)
                break
            @unknown default:
                break
            }
    }


// VideoBuffer Sending Method
func startCaptureLocalVideo(sampleBuffer: CMSampleBuffer) {

        let _pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)
        if let pixelBuffer = _pixelBuffer {
            let rtcPixelBuffer = RTCCVPixelBuffer(pixelBuffer: pixelBuffer)
            let timeStampNs = CMTimeGetSeconds(CMSampleBufferGetPresentationTimeStamp(sampleBuffer)) * 1000000000
            let rtcVideoFrame = RTCVideoFrame(buffer: rtcPixelBuffer, rotation: RTCVideoRotation._90, timeStampNs: Int64(timeStampNs))

            localVideoSource!.capturer(videoCapturer!, didCapture: rtcVideoFrame)
        }

    }

我成功地在WebRTC上发送视频样本缓冲区,但我被卡在音频部分。

我没有找到任何方法来发送音频缓冲区到WebRTC。

非常感谢你的回答。

EN

回答 1

Stack Overflow用户

发布于 2021-03-22 10:56:47

我找到了解决这个问题的方法,只需转到这个链接,并遵循以下指导原则:https://github.com/pixiv/webrtc/blob/branch-heads/pixiv-m78/README.pixiv.md

WebRTC团队不再支持原生框架,所以我们需要修改WebRTC源代码并重新构建它,以便在另一个应用程序中使用。

幸运的是,我找到了从WebRTC项目派生源代码的人,他更新了将CMSampleBuffer从广播扩展传递到RTCPeerConnection的函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58030446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档