Aracılığıyla paylaş


Parametreleri Gruplandırma

Gruplandırma parametresi, sistem ses denetimi programı Sndvol'de tek bir ses denetimi tarafından denetlenen ses oturumları bir koleksiyonu tanımlar. Gruplandırma parametresi, bilgisayar kapsamında koleksiyonu benzersiz olarak tanımlayan bir GUID'dir.

Gruplandırma parametresinin amacı, işlemler arası oturum için oturum GUID'sine benzer. Yani gruplandırma parametresi, kullanıcının herhangi bir sayıda işlemden gelen akış koleksiyonunu tek bir birim olarak denetlemesini sağlar. Ancak gruplandırma parametresi, işlemler arası oturumların çözüm sağlayamadığı durumlarda bu amaca hizmet eder.

Birkaç istemci ilgili akışlarını ayrı oturumlara atar ancak tüm oturumlara aynı gruplandırma parametresini atarsa, Sndvol bu oturumlar için tek bir birim denetimi görüntüler. Parametreleri gruplandırma desteği sağlamak için Sndvol veya benzer bir birim denetimi uygulaması aşağıdakileri yapmalıdır:

  • Birim denetimlerini görüntülemeden önce tüm etkin oturumların gruplandırma parametrelerini denetleyin. Aynı gruplandırma parametresine sahip tüm oturumları tek bir birim denetimi altında gruplandırın.
  • Kullanıcı belirli bir gruplandırma parametresi için birim denetimindeki ayarı değiştirdiğinde, bu gruplandırma parametresini paylaşan tüm oturumların birim düzeylerini güncelleştirin.

Parametreleri gruplandırma, Sndvol tarafından görüntülenen birim denetimlerinin sayısını azaltmaya yardımcı olur. Sndvol ekranı çok fazla denetimle karıştırırsa kullanıcıların kafası karışabilir. Parametreleri gruplandırma desteği olmadan, Sndvol her zaman her oturum için ayrı bir birim denetimi görüntüler ve bu her durumda uygun olmayabilir. Ayrıca, gruplandırma parametreleri benzer ses içeriği içeren oturumların aynı ses düzeyine kolayca ayarlanabilmesini sağlamak için kullanışlı bir yol sağlar.

Daha önce açıklandığı gibi, üst düzey ses API'leri genellikle akışlarını varsayılan, işleme özgü oturuma atar (oturum GUID değeri GUID_NULL tarafından tanımlanır). Bu varsayılan, Sndvol'ün her istemci uygulama işlemi için ayrı bir birim denetimi görüntülemesini sağlar ve bu genellikle istenen davranıştır. Ayrıca, aynı istemcinin birkaç örneği ayrı işlemlerde çalışıyorsa ve tek bir paylaşılan ses düzeyi kontrolüne ihtiyaç duyuyorsa, istemciler akışlarını aynı işlemler arası oturuma atayabilir. Bu durumların hiçbiri gruplandırma parametrelerinin kullanılmasını gerektirmez. Ancak, Microsoft Internet Explorer'ın örneklediği gibi önemli bir durum, istenen davranışı elde etmek için gruplandırma parametrelerinin kullanılmasını gerektirir.

Internet Explorer, kullanıcıların birden çok tarayıcı penceresi açmasına olanak tanır ve bu pencerelerin tümü aynı işlemde çalışmayabilir. Sndvol her uygulama örneği için ayrı bir birim denetimi görüntülediyse ve tümü aynı "Internet Explorer" etiketine sahipse kullanıcıların kafası karışabilir. İşlemler arası oturum bu durumda uygulanabilir bir çözüm değildir; Internet Explorer'ın birkaç örneği farklı işlemlerde çalıştırılırsa, tüm ses akışlarını tek bir çapraz işlem oturumuna atayamayabilirler. Bunun nedeni, Internet Explorer pencerelerinin Windows Media Player örneklerini veya ses akışlarını yürütmek için daha üst düzey bir ses API'sini kullanan başka bir multimedya eklentisi çalıştırıyor olmasıdır. Bu API'ler genellikle bir işlemdeki akışları varsayılan, işleme özgü bir oturuma atar. Internet Explorer' ın bu akışların oturumlara atanma denetimi yoktur.

WASAPI, Internet Explorer'ın her örneğinin varsayılan, işleme özgü oturumun oturum denetimlerine erişmesini ve bu oturuma bir gruplandırma parametresi atamasını sağlayarak bu sorunu çözer. Internet Explorer'ın tüm örnekleri, tüm ses oturumlarına aynı gruplandırma parametresini atarsa, Sndvol bu oturumlar için tek bir ses kontrolü görüntüler.

Varsayılan olarak, bir oturum herhangi bir gruplandırmaya ait değildir. Eğer bir istemci açıkça bir oturumu gruplamaya atamazsa, Sndvol bu oturum için ayrılmış bir ses denetimi görüntüler. GUID_NULL gruplandırma parametresi değeri, oturumun herhangi bir gruplandırmaya ait olmadığını gösterir. Bir oturuma açıkça bir gruplandırma parametresi atanmamışsa, bu oturumun gruplandırma parametresi değeri varsayılan olarak GUID_NULL.

İstemci, oturumun atandığı gruplandırma işlemini dinamik olarak değiştirebilir.

Gruplandırma, birses uç noktası cihazında işlemler arası oturumların ve işleme özgü oturumların herhangi bir bileşimini içerebilir.

Sndvol kullanıcı arabirimi, kullanıcının aynı anda yalnızca bir ses uç noktası cihazı için birim denetimlerini görüntülemesine olanak tanır. Kullanıcı belirli bir cihaz için birim denetimlerini ayarladığında, diğer cihazlara bağlanan oturumların ses düzeyi etkilenmez. Özellikle, belirli bir gruplandırma parametresi için birim denetimi yalnızca gruplandırma parametresini paylaşan ve seçili durumdaki cihaza bağlı olan oturumları etkiler. Aynı gruplandırma parametresine sahip olan ancak başka bir cihaza bağlı olan oturum etkilenmez.

Daha önce açıklandığı gibi Sndvol, gösterdiği her ses denetimini bir görüntü adı ve simge ile etiketler. Gruplandırma için birim denetimi söz konusu olduğunda, Sndvol isteğe bağlı olarak gruplamadaki oturumlardan birini birim denetimiyle birlikte görüntülediği görünen ad ve simgenin kaynağı olarak seçer. Bu nedenle, Sndvol'ün bir gruplandırma için her zaman aynı görünen adı ve simgeyi görüntülediğinden emin olmak için, bu gruplandırmaya oturum atayan tüm uygulama örnekleri, ilgili oturumlarının aynı görünen ada ve simgeye sahip olmasını sağlamalıdır. Görünen adlar ve simgelerle ilgili daha fazla bilgi için bkz. Ses Oturumları.

Sndvol gibi bir uygulama, bir oturumun gruplandırma parametresi değiştiğinde bildirim almak üzere kendisini kaydedebilir. Uygulama, oturumların gruplandırma parametrelerine atanmasıyla ilgili bilgileri önbelleğe alırsa bu tür bildirimler yararlı olabilir. Bir bildirim, önbelleğe alınan bilgilerin artık geçerli olmayabileceğini uygulamaya bildirir.

Bir oturuma gruplandırma parametresi atamak için IAudioSessionControl::SetGroupingParam yöntemini çağırın. Bir oturuma atanan gruplandırma parametresini almak için IAudioSessionControl::GetGroupingParam yöntemini çağırın.

Sesli Oturumlar