Как быстро отправить микрофон и InApp Audio CMSampleBuffer на webRTC? - PullRequest
0 голосов
/ 20 сентября 2019

Я работаю на экране приложения трансляции.Я хочу отправить запись экрана на сервер WebRTC.

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)
        }

    }

Мне удалось отправить VIDEO Sample Buffer на WebRTC, но я застрял в части AUDIO.

Я не нашел ни одногоКак отправить AUDIO буфер в WebRTC.

Большое спасибо за ваш ответ.

...