실시간 스트리밍 중지
현재 RTSP 또는 JPEG 기기 실시간 스트리밍 세션을 중지하고 호스트 앱이 소유한 플레이어, relay, 이미지 및 UI 리소스를 해제합니다.
사전 요구 사항
- 대상 기기가
LiveStreamingAPI를 준수합니다. - 현재 세션에서 생성한 표시 리소스의 참조를 유지합니다.
- 화면 닫기와 명시적 중지 동작이 같은 정리 절차를 사용할 수 있도록 중지 처리를 멱등하게 구현합니다.
API 참고
프레임워크
AIBuds.xcframework
가져오기
- Swift
- Objective-C
import AIBuds
import AIBudsLiveStream#import <AIBuds/AIBuds-Swift.h>
#import <AIBuds/AIBuds.h>
#import <AIBudsLiveStream/AIBudsLiveStream-Swift.h>인스턴스 메서드
- Swift
- Objective-C
/// Stop live streaming
func stopLiveStreaming()/// Stop live streaming
- (void)stopLiveStreaming;stopLiveStreaming을 참고하세요.
매개변수
이 메서드에는 매개변수가 없습니다.
반환 값
이 메서드는 값을 반환하지 않으며 completion handler도 받지 않습니다. 세션 종료 상황은 시작할 때 전달한 sessionFinishHandler에서 확인하세요.
사용 예제
Demo는 선택적 RTMP relay를 먼저 중지한 뒤 RTSP 재생을 중지하고 기기 세션 및 UI 상태를 정리합니다. 기기 명령과 호스트 리소스의 수명 주기는 서로 독립적입니다.
- Swift
- Objective-C
func stopCurrentLiveStream() {
// Stop optional host-side relay and playback resources.
liveStreamer?.stopStreaming()
liveStreamer = nil
mediaPlayer?.stop()
// Stop the RTSP or JPEG session on the connected device.
(device as? LiveStreamingAPI)?.stopLiveStreaming()
currentRTSPAddress = nil
imageView.image = nil
setStreamingActive(false)
}- (void)stopCurrentLiveStream {
// Stop optional host-side relay and playback resources.
[self.liveStreamer stopStreaming];
self.liveStreamer = nil;
[self.mediaPlayer stop];
// Stop the RTSP or JPEG session on the connected device.
id<AIBudsLiveStreamingAPI> streamingDevice = (id<AIBudsLiveStreamingAPI>)self.device;
if ([streamingDevice conformsToProtocol:@protocol(AIBudsLiveStreamingAPI)]) {
[streamingDevice stopLiveStreaming];
}
self.currentRtspAddress = nil;
self.imageView.image = nil;
[self setStreamingActive:NO];
}오류 처리
stopLiveStreaming()에는 completion handler가 없으므로 로컬 정리 작업을 반복해도 안전하게 구현하세요. 원래 세션의 finish 콜백에서 isUserInitiatedStop을 확인하여 사용자 중지와 예기치 않은 중단을 구분하고, 세션이 비정상 종료되면 콜백 오류를 기록하거나 표시하세요.
권장 사항
- 해당 화면을 닫거나 기능을 종료할 때 실시간 스트리밍을 중지하세요.
- 기기 세션과 함께 RTMP relay, 플레이어 및 보관 중인 RTSP 주소를 해제하세요.
- 공개 메서드가 제공하지 않는 중지 completion을 기다리지 마세요.
- 로컬 정리 후에도 finish 콜백이 실행될 수 있으므로 콜백 처리를 멱등하게 구현하세요.
참고
- 같은 중지 메서드로 RTSP 또는 JPEG 기기 세션을 종료합니다.
LiveStreamingPlayer만 중지해도 기기 세션은 중지되지 않습니다.- 기기 세션만 중지해도 호스트가 소유한 재생 또는 relay 객체는 자동으로 해제되지 않습니다.