Ana içeriğe geç

Canlı Yayını Durdurma

Geçerli RTSP veya JPEG cihaz canlı yayın oturumunu durdurun ve ana uygulamanın sahip olduğu oynatıcı, aktarma, görüntü ve kullanıcı arayüzü kaynaklarını serbest bırakın.

Ön Koşullar

  • Hedef cihaz LiveStreamingAPI protokolüne uyar.
  • Geçerli oturum için oluşturulan sunum kaynaklarının referanslarını koruyun.
  • Görünümün kapanmasıyla açık durdurma eyleminin aynı temizleme yolunu güvenle kullanabilmesi için durdurma işlemini idempotent tasarlayın.

API Referansı

Framework

AIBuds.xcframework

İçe Aktarma

Swift
import AIBuds
import AIBudsLiveStream

Örnek Yöntemi

Swift
/// Stop live streaming
func stopLiveStreaming()

stopLiveStreaming öğesine bakın.

Parametreler

Bu yöntemin parametresi yoktur.

Dönüş Değeri

Bu yöntem değer döndürmez ve completion işleyicisi kabul etmez. Oturumun nasıl sonlandığını belirlemek için oturum başlatılırken verilen sessionFinishHandler callback’ini izleyin.

Kullanım Örnekleri

Demo, RTSP oynatmayı durdurmadan önce isteğe bağlı RTMP aktarımını durdurur; ardından cihaz oturumu ile kullanıcı arayüzü durumunu temizler. Cihaz komutu ile ana uygulama kaynakları ayrı yaşam döngüleridir.

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

Hata Yönetimi

stopLiveStreaming() completion işleyicisi sunmadığından, yerel temizlemeyi tekrarlanabilir ve güvenli tasarlayın. isUserInitiatedStop durumunu kesintiden ayırmak için özgün oturumun bitiş callback’ini kullanın. Oturum beklenmedik biçimde biterse callback hatasını kaydedin veya kullanıcıya gösterin.

En İyi Uygulamalar

  1. İlgili ekrandan çıkarken veya özelliği sonlandırırken canlı yayını durdurun.
  2. RTMP aktarımını, oynatıcıyı ve saklanan RTSP adresini cihaz oturumuyla birlikte serbest bırakın.
  3. Genel yöntemin sunmadığı bir durdurma completion callback’ini beklemeyin.
  4. Yerel temizlemeden sonra da çalışabileceği için bitiş callback’i yönetimini idempotent tutun.

Notlar

  • Aynı durdurma yöntemi hem RTSP hem de JPEG cihaz oturumunu sonlandırır.
  • Yalnızca LiveStreamingPlayer öğesini durdurmak cihaz oturumunu durdurmaz.
  • Yalnızca cihaz oturumunu durdurmak, ana uygulamanın sahip olduğu oynatma veya aktarma nesnelerini otomatik olarak serbest bırakmaz.