arctos-SDK For developsarctos-SDK For develops
Home
Okuma
arctos
Contact
  • English
  • 繁體中文
Home
Okuma
arctos
Contact
  • English
  • 繁體中文
  • Guide

    • get-started
  • Spec

    • Peer to Peer Direct
    • Relay based
  • Api

    • Overview
    • Auth
    • Task
    • Business
    • Room
  • Peer to Peer Direct

    • overview
    • installization
    • features

      • initial_setting
      • room
      • camera
      • conference
      • microphone
      • speaker
      • share_screen
      • paint_board
      • recording
        • 啟動本機錄影
        • 停止本機錄影
      • layout
  • Relay based

    • overview
    • installization
    • features

      • initial_setting
      • camera
      • microphone
      • speaker
      • share_screen
      • paint_board
      • share_message
      • switch_template
      • video_filters

錄影

ArctosLinks.Media 提供了一組 API 來啟動和停止本機錄影操作。 以下是使用此 SDK 來實現這些操作的方法。

啟動本機錄影

功能:啟動本機錄影,將當前會議室傳輸的影像錄製成1280*720大小的影像,並持續寫入至App儲存空間。

參數:

  • roomID: 會議室的唯一標識符,類型為字串。

注意事項

如果沒有呼叫[停止錄影](#停止本機錄影),檔案不會完成儲存。

返回值:如果成功啟動則完成,否則返回錯誤。

Swift
import ArctosLinks

private func startRecording() {
    ArctosLinks.Media.startRecording { result in
        switch result {
        case .success(_):
            break
        case .failure(let failure):
            print(failure.localizedDescription)
        }
    }
}
Kotlin
import com.arctos.sdk.links.core.application.ArctosLinks

private fun startRecording() {
    kotlin.runCatching {
        ArctosLinks.getInstance(Context).mediaManager.startRecording().getOrThrow()
    }.onSuccess {
        Log.d(TAG, "start Recording: ")
    }.onFailure {
        Log.d(TAG, "start Recording: Failed ${it.message}")
    }
}
c++
#include "arctos_qt.h"

void startRecording() {
    // emit errorMessage when failed
    arctos_app.media()->startRecording();
}

停止本機錄影

功能:停止已經啟動的錄影工作階段,如果在未啟動錄影工作的情況下呼叫此函式,會回傳錯誤。

返回值:如果成功停止錄影工作則完成,否則返回錯誤。

注意事項

在錄影工作階段未完成寫檔的狀況下,再次呼叫[啟動本機錄影](#啟動本機錄影)會導致應用程式崩潰。
Swift
import ArctosLinks

private func stopRecording() {
    ArctosLinks.Media.stopRecording { result in
        switch result {
        case .success(_):
            break
        case .failure(let failure):
            print(failure.localizedDescription)
        }
    }
}
Kotlin
import com.arctos.sdk.links.core.application.ArctosLinks

private fun stopRecording() {
    kotlin.runCatching {
        ArctosLinks.getInstance(Context).mediaManager.stopRecording().getOrThrow()
    }.onSuccess {
        Log.d(TAG, "stop Recording: ")
    }.onFailure {
        Log.d(TAG, "stop Recording: Failed ${it.message}")
    }
}
c++
#include "arctos_qt.h"

void stopRecording() {
    arctos_app.media()->stopRecording();
}
Prev
paint_board
Next
layout