錄影
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();
}
