Aracılığıyla paylaş


Medya Oturumu Hakkında

Medya Oturumu, IMFMediaSession arabirimini kullanıma sunar. Uygulamanızın korumalı içeriği destekleyip desteklemediğine bağlı olarak Medya Oturumu oluşturmanın iki yolu vardır:

  • Uygulamanız korumalı içeriği desteklemiyorsa, MFCreateMediaSessionçağırarak Medya Oturumu oluşturabilirsiniz. Bu işlev, uygulama işleminin içinde Medya Oturumu oluşturur.
  • Korumalı içeriği desteklemek için MFCreatePMPMediaSessionçağırarak Medya Oturumu oluşturun. Bu işlev, Korumalı Medya Yolu (PMP) işleminin içinde Medya Oturumu oluşturur. Uygulama, işlem sınırı boyunca yöntem çağrılarını sıralayan bir ara sunucu nesnesine yönelik bir işaretçi alır. PMP Medya Oturumu'nın, korumalı içeriğin yanı sıra net içeriği oynatmak için de kullanılabileceğini unutmayın.

Medya Oturumu kullanan tüm uygulamalar şu genel adımları izler:

  1. Topoloji oluşturma.
  2. Medya Oturumu üzerindeki topolojiyi, IMFMediaSession::SetTopologyçağırarak kuyruğa alın.
  3. IMFMediaSession::Start, IMFMediaSession::Pauseveya IMFMediaSession::Stopçağrısı yaparak veri akışını kontrol edin.
  4. Uygulamadan çıkmadan önce, medya oturumunu kapatmak için IMFMediaSession::Close çağrısında bulunur.
  5. uygulamanın oluşturduğu tüm medya kaynaklarını, IMFMediaSource::Shutdownçağırarak kapatın.
  6. IMFMediaSession::Shutdownçağrısı yaparak Medya Oturumunu kapatın.

Medya Oturumu kullanılırken, uygulama medya kaynağını doğrudan başlatmamalı, duraklatmamalı veya durdurmamalıdır. Tüm durum değişiklikleri, IMFMediaSession yöntemleri çağrılarak başlatılmalıdır. Medya kaynağındaki durum değişiklikleri Medya Oturumu tarafından işlenir.

Diğer birçok ayrıntı, uygulamanızın belirli işlevlerine bağlıdır.

Korumalı İçerik

Korumalı içeriği yürütmek için, MFCreatePMPMediaSessionçağırarak korumalı medya yolunun (PMP) içinde Medya Oturumu oluşturmanız gerekir. Bu işlev, PMP içinde Medya Oturumu'nun bir örneğini oluşturur ve işlem sınırı boyunca arabirimleri sıralayan bir ara sunucu nesnesine yönelik bir işaretçi döndürür.

Çoğu bakımdan, PMP'nin içinde Medya Oturumu'un kullanılması uygulama için saydamdır. Ancak, uygulamanın kullanıcının içeriği yürütmesini sağlayan belirli eylemleri çağırması gerekebilir. Örneğin, kullanıcının bir DRM lisansı alması gerekebilir. Media Foundation, IMFContentEnabler arabirimini kullanarak bu eylemler için genel bir mekanizma tanımlar.

Daha fazla bilgi için aşağıdaki konulara bakın:

Sunu Saati

Medya Oturumu, sunu saatinin tüm yönlerini yönetir:

  • Sunu saati oluşturuluyor.

  • Zaman kaynağını seçme.

  • Medya havuzlarına saat hakkında bildirimde bulunarak

  • Saati gerektiği gibi başlatma, durdurma ve duraklatma.

  • Saati kapatma.

Sunum saatinin işaretçisini almak için Medya Oturumu'nda IMFMediaSession::GetClock yöntemini çağırın. Medya Oturumu MF_TOPOSTATUS_READY bayrağıyla MESessionTopologyStatus olayını gönderene kadar sunum saati geçerli bir zaman döndürmez. O zamana kadar GetClock MF_E_CLOCK_NO_TIME_SOURCE döndürür.

Medya Oturumu kullanan bir uygulama hiçbir zaman sunu saatini başlatmamalı, durdurmamalı veya duraklatmamalıdır; saat hızını değiştirmemeli; veya saati kapamamalıdır.

Uygulama IMFMediaSession::Startçağırdığında, Medya Oturumu sunu saatini Başlangıç yönteminde belirtilen başlangıç konumuna eşit bir başlangıç saatiyle başlatır. Medya Oturumu hakkında daha fazla bilgi için bkz. Medya Oturumu.

Medya Oturumu