錄影
ArctosLinks.Media
提供了一組 API 來啟動和停止本機錄影操作。 以下是使用此 SDK 來實現這些操作的方法。
啟動本機錄影
功能:啟動本機錄影,將當前會議室傳輸的影像錄製成1280*720大小的影像,並持續寫入至App儲存空間。
參數:
- roomID: 會議室的唯一標識符,類型為字串。
!!! warning "注意事項" 如果沒有呼叫停止錄影,檔案不會完成儲存。
返回值:如果成功啟動則完成,否則返回錯誤。
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();
}
停止本機錄影
功能:停止已經啟動的錄影工作階段,如果在未啟動錄影工作的情況下呼叫此函式,會回傳錯誤。
返回值:如果成功停止錄影工作則完成,否則返回錯誤。
!!! info "注意事項" 在錄影工作階段未完成寫檔的狀況下,再次呼叫啟動本機錄影會導致應用程式崩潰。
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();
}