Kullanıcıya Yönelik Tanılama
Azure İletişim Hizmetleri'da aramalarla çalışırken müşterilerinizi etkileyen sorunlarla karşılaşabilirsiniz. Bu konuda yardımcı olmak için Azure İletişim Hizmetleri, sorunun ne olabileceğini belirlemek üzere bir çağrının çeşitli özelliklerini incelemek için kullanılabilecek "Kullanıcıya Yönelik Tanılama" (UFD) adlı bir özellik sağlar. Kullanıcıya Yönelik Tanılama, bir kullanıcının kötü bir deneyime sahip olabileceğini belirten bazı temel sorunlardan (zayıf ağ, kullanıcının mikrofonu kapalı) dolayı tetiklenen olaylardır. Kullanıcıya Yönelik Tanılama tetiklendiğinde, son kullanıcıya bazı temel sorunlarla karşılaşmış olabileceğine ilişkin geri bildirimde bulunmayı düşünmelisiniz. Ancak, Kullanıcıya Yönelik Tanılama çıktısı yalnızca bilgilendirme amaçlıdır ve çağrı yığını tetiklenen Kullanıcıya Yönelik Tanılamayı temel alarak herhangi bir değişiklik yapmaz.
Tanılama değerleri
Aşağıdaki kullanıcıya yönelik tanılamalar kullanılabilir:
Ağ değerleri
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
noNetwork | Kullanılabilir ağ yok. | - Kullanılabilir ağ olmadığından bir çağrının başlatılamadığı zaman olarak ayarlayın True . - ICE adaylarının mevcut olduğu zaman olarak ayarlayın False . |
Cihaz bir ağa bağlı değil. | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ iyileştirme bölümüne bakın. |
networkRelaysNotReachable | Ağ ile ilgili sorunlar. | - Ağ, Azure İletişim Hizmetleri geçişlere ulaşmanıza izin vermeyecek bir kısıtlamaya sahip olduğunda olarak ayarlayınTrue . - Yeni bir arama yaptıktan sonra olarak False ayarlayın. |
WiFi sinyalinin açık ve kapalı olduğu bir arama sırasında. | Güvenlik duvarı kurallarının ve ağ yönlendirmenin istemcinin Microsoft turn sunucularına erişmesine izin olduğundan emin olun. Daha fazla bilgi için Güvenlik duvarı yapılandırması bölümüne bakın. |
networkReconnect | Bağlantı kesildi ve ağa yeniden bağlanıyoruz. | - Ağ bağlantısının kesildiğinde olarak ayarlayınBad - Medya taşıma bağlantısının ne zaman kaybedildiğine Poor ayarlayın - Yeni bir oturumun bağlı olduğu zaman olarak Good ayarlayın. |
Düşük bant genişliği, İnternet yok | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. |
networkReceiveQuality | Gelen akış kalitesiyle ilgili bir gösterge. | - Akışı almayla ilgili ciddi bir sorun olduğunda olarak ayarlayınBad . - Akışı almayla ilgili hafif bir sorun olduğunda olarak ayarlayın Poor . - Akışı almada sorun olmadığında olarak ayarlayın Good . |
Düşük bant genişliği | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. Kullanılabilir İnternet bant genişliğini korumak için son kullanıcının kamerasını kapatmasını önerin. |
networkSendQuality | Giden akış kalitesiyle ilgili bir gösterge. | - Akışı gönderirken ciddi bir sorun olduğunda olarak ayarlayınBad . - Akışı gönderirken hafif bir sorun olduğunda olarak ayarlayın Poor . - Akışı gönderirken sorun olmadığında olarak ayarlayın Good . |
Düşük bant genişliği | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. Ayrıca, kullanılabilir İnternet bant genişliğini korumak için son kullanıcının kamerasını kapatmasını önerin. |
Ses değerleri
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
noSpeakerDevicesEnumerated | kullanıcının sisteminde ses çıkış cihazı (hoparlör) yoktur. | - Sistemde hoparlör cihazı olmadığında olarak ayarlanır True ve konuşmacı seçimi desteklenir. - Sistemde en az bir hoparlör cihazı olduğunda olarak ayarlayın False ve konuşmacı seçimi destekleniyor. |
Tüm hoparlörler fişsiz | değeri olarak True ayarlandığında, son kullanıcıya geçerli arama oturumlarında kullanılabilir konuşmacı olmadığını belirten görsel bildirim vermeyi göz önünde bulundurun. |
speakingWhileMicrophoneIsMuted | Sessizdeyken konuşmak. | - Yerel mikrofonun sesi kapatıldığında ve yerel kullanıcı konuştuğunda olarak ayarlayın True . - Yerel kullanıcı konuşmayı durdurduğunda veya mikrofonun sesini kapattığında olarak ayarlayın False . * Not: Ses düzeyi örnekleri WebRTC istatistiklerinden alındığından şu anda Safari'de bu seçenek desteklenmemektedir. |
Arama sırasında mikrofonunuzun sesini kapatıp konuşun. | Değer, son kullanıcıya konuştuğunu ve sesinin kapalı olduğunu fark etmeyebileceğine ilişkin görsel bildirim vermeyi göz önünde bulunduracak şekilde ayarlandığında True . |
noMicrophoneDevicesEnumerated | Kullanıcının sisteminde ses yakalama cihazı (mikrofon) yok | - Sistemde mikrofon cihazı olmadığında olarak ayarlayın True . - Sistemde en az bir mikrofon cihazı olduğunda olarak ayarlayın False . |
Arama sırasında tüm mikrofonların fişi çıkarılır. | Değer, son kullanıcıya geçerli arama oturumlarında mikrofon olmadığını belirten görsel bildirim vermeyi göz önünde bulunduracak şekilde ayarlandığında True . Daha fazla bilgi için cihaz yöneticisinden mikrofonu etkinleştirme bölümüne bakın. |
mikrofonNotFunctioning | Mikrofon çalışmıyor. | - Mikrofon cihazı sistemde devre dışı bırakılmış olabileceği veya başka bir işlem tarafından kullanıldığı için yerel ses akışı göndermeye başlayamadığımızda olarak ayarlayın True . Bu UFD'nin yükseltilmesi yaklaşık 10 saniye sürer. - Mikrofon yeniden başarılı bir şekilde ses akışı göndermeye başladığında olarak ayarlayın False . |
Kullanılabilir mikrofon yok, sistemde mikrofon erişimi devre dışı | Değer, son kullanıcıya mikrofonuyla ilgili bir sorun olduğunu belirten görsel bildirim verecek şekilde ayarlandığında True . |
microphoneMuteUnexpectedly | Mikrofonun sesi kapatıldı | - Mikrofonun sessiz duruma beklenmedik bir şekilde girdiği zaman olarak ayarlayın True . - Mikrofon başarılı bir şekilde ses akışı göndermeye başladığında olarak ayarlayın False |
Mikrofonun sesi sistemden kapatıldı. Çoğu durum, kullanıcı mobil cihazda bir Azure İletişim Hizmetleri aramasında olduğunda ve bir telefon araması geldiğinde gerçekleşir. Çoğu durumda, işletim sistemi Azure İletişim Hizmetleri aramasının sesini kapatarak kullanıcının telefon aramasını yanıtlamasını sağlar. | değeri olarak True ayarlandığında, son kullanıcıya bir telefon araması geldiği için aramanın sesinin kapatıldığını belirten görsel bildirimde bulunun. Daha fazla bilgi için, daha fazla ayrıntı için Azure İletişim Hizmetleri arama bölümünün sessize alınarak işletim sisteminin nasıl en iyi şekilde işleneceğini öğrenin. |
mikrofonPermissionDenied | cihazdan düşük ses düzeyi var veya macOS'ta neredeyse sessiz. | - Ses izninin sistem ayarlarından (ses) reddedildiğinde olarak ayarlayın True . - Başarılı akış alımında olarak False ayarlayın. Not: Bu tanılama yalnızca macOS'ta çalışır. |
mikrofon izinleri Ayarlar devre dışı bırakılır. | değeri olarak True ayarlandığında, son kullanıcıya bir Azure İletişim Hizmetleri çağrısı için mikrofon kullanma iznini etkinleştirmediğini belirten görsel bir bildirim verin. |
değerleri Kamera
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
cameraFreeze | Kamera 5 saniyeden uzun süre çerçeve üretmeyi durdurur. | - Yerel video akışının ne zaman dondurulduğunda olarak ayarlayın True . Bu tanılama, uzak tarafın videonuzu ekranlarında donmuş olarak gördüğü veya uzak katılımcıların videonuzu kendi ekranlarında işlemediği anlamına gelir. - Dondurmanın ne zaman sona erdiğini ve kullanıcıların videonuzu normal şekilde görebileceği şekilde ayarlayın False . |
arama sırasında Kamera kayboldu veya kötü ağ kameranın donmasına neden oldu. | değeri olarak True ayarlandığında, son kullanıcıya uzak katılımcı ağının kötü olabileceğine dair bildirim vermeyi göz önünde bulundurun; bant genişliğini korumak için kamerasını kapatmalarını önerebilir. Daha fazla bilgi için, Azure İletişim Hizmetleri çağrısı için gerekli İnternet becerileriyle ilgili ağ bant genişliği gereksinimi bölümüne bakın. |
cameraStartFailed | Genel kamera hatası. | - Kamera cihazı sistemde devre dışı bırakılmış olabileceği veya başka bir işlem tarafından kullanıldığı için yerel video göndermeye başlayamadığımız zaman olarak ayarlayın True ~. - Seçili kamera cihazının False yeniden yerel video gönderdiğinde olarak ayarlayın. |
Kamera hataları | değeri olarak True ayarlandığında, son kullanıcıya kameralarının başlatılamadığını belirten görsel bir bildirim verin. |
cameraStartTimedOut | Kameranın kötü durumda olduğu yaygın senaryo. | - Video akışı göndermeye başlamak için True kamera cihazının zaman aşımına uğradıklarına ayarlayın. - Seçili kamera cihazının False yeniden yerel video gönderdiğinde olarak ayarlayın. |
Kamera hataları | değeri olarak True ayarlandığında, son kullanıcıya kameralarında sorun olabileceğini belirten görsel bir bildirim verin. (Değer bildirimi kaldırmak için False geri ayarlandığında). |
cameraPermissionDenied | ayarlarda Kamera izinleri reddedildi. | - Sistem ayarlarından (video) kamera izninin ne zaman reddedildiğinde olarak ayarlayın True . - Başarılı akış alımında olarak False ayarlayın. Not: Bu tanılama yalnızca macOS Chrome'da çalışır. |
Kamera izinleri ayarlarda devre dışı bırakılır. | değeri olarak True ayarlandığında, son kullanıcıya bir Azure İletişim Hizmetleri çağrısı için kamera kullanma iznini etkinleştirmediğini belirten görsel bildirim verin. |
cameraStoppedUnexpectedly | Kamera arızası | - Kamera beklenmedik bir şekilde durduruldu durumuna girdiğinde olarak ayarlayın True . - Kamera yeniden başarılı bir şekilde video akışı göndermeye başladığında olarak ayarlayın False . |
Kameranın düzgün çalıştığını denetleyin. | değeri olarak True ayarlandığında, son kullanıcıya kameralarında sorun olabileceğini belirten görsel bir bildirim verin. (Değer bildirimi kaldırmak için False geri ayarlandığında). |
Sair değerler
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Düzeltme Adımları |
---|---|---|---|---|
screenshareRecordingDisabled | Sistem ekranı paylaşımı Ayarlar'daki tercihlerden reddedildi. | - Sistem ayarlarından ekran paylaşımı izninin ne zaman reddedildiğinde (paylaşım) olarak ayarlayın True . - Başarılı akış alımında olarak False ayarlayın. Not: Bu tanılama yalnızca macOS.Chrome'da çalışır. |
Ekran kaydı Ayarlar'da devre dışı bırakılır. | değeri olarak True ayarlandığında, son kullanıcıya Azure İletişim Hizmetleri çağrısı için ekranını paylaşma iznini etkinleştirmediğini belirten görsel bildirimde bulunur. |
capturerStartFailed | Sistem ekranı paylaşımı başarısız oldu. | - Ekranı yakalamaya başlayamaması için olarak ayarlayın True . - Ekranı yakalama işleminin başarılı bir şekilde başlatabileceği zaman olarak ayarlayın False . |
değeri olarak True ayarlandığında, son kullanıcıya ekranını paylaşırken bir sorun olabileceğini belirten görsel bildirimde bulunur. (Değer olarak geri False ayarlandığında bildirimi kaldırın). |
|
capturerStoppedUnexpectedly | Sistem ekran paylaşımı arızası | - Ekran yakalayıcının beklenmedik bir şekilde durdurulma durumuna girdiği zaman olarak ayarlayın True . - Ekran yakalayıcının yeniden başarılı bir şekilde yakalamaya başlayacağı zaman olarak ayarlayın False . |
Ekran paylaşımının düzgün çalıştığını denetleme | değeri olarak True ayarlandığında, son kullanıcıya ekran paylaşımının durmasına neden olabilecek bir sorun olduğuna dair görsel bildirim verin. (Değer bildirimi kaldırmak için False geri ayarlandığında). |
Tanılamaya erişme
Kullanıcıya yönelik tanılama, çekirdek Call
API'nin genişletilmiş bir özelliğidir ve etkin bir çağrıyı tanılamanıza olanak tanır.
const userFacingDiagnostics = call.feature(Features.UserFacingDiagnostics);
Kullanıcıya Yönelik Tanılama olayları
diagnosticChanged
Kullanıcıya yönelik tanılama değişikliklerinin ne zaman değiştiğini izlemek için olaya abone olun.
/**
* Each diagnostic has the following data:
* - diagnostic is the type of diagnostic, e.g. NetworkSendQuality, DeviceSpeakWhileMuted, etc...
* - value is DiagnosticQuality or DiagnosticFlag:
* - DiagnosticQuality = enum { Good = 1, Poor = 2, Bad = 3 }.
* - DiagnosticFlag = true | false.
* - valueType = 'DiagnosticQuality' | 'DiagnosticFlag'
*/
const diagnosticChangedListener = (diagnosticInfo: NetworkDiagnosticChangedEventArgs | MediaDiagnosticChangedEventArgs) => {
console.log(`Diagnostic changed: ` +
`Diagnostic: ${diagnosticInfo.diagnostic}` +
`Value: ${diagnosticInfo.value}` +
`Value type: ${diagnosticInfo.valueType}`);
if (diagnosticInfo.valueType === 'DiagnosticQuality') {
if (diagnosticInfo.value === DiagnosticQuality.Bad) {
console.error(`${diagnosticInfo.diagnostic} is bad quality`);
} else if (diagnosticInfo.value === DiagnosticQuality.Poor) {
console.error(`${diagnosticInfo.diagnostic} is poor quality`);
}
} else if (diagnosticInfo.valueType === 'DiagnosticFlag') {
if (diagnosticInfo.value === true) {
console.error(`${diagnosticInfo.diagnostic}`);
}
}
};
userFacingDiagnostics.network.on('diagnosticChanged', diagnosticChangedListener);
userFacingDiagnostics.media.on('diagnosticChanged', diagnosticChangedListener);
Kullanıcıya Yönelik En Son Tanılamaları Alma
- Yükseltilen en son tanılama değerlerini alın. Bir tanılama tanımlanmamışsa, bunun nedeni hiç tetiklenmemiş olmasıdır.
const latestNetworkDiagnostics = userFacingDiagnostics.network.getLatest();
console.log(
`noNetwork: ${latestNetworkDiagnostics.noNetwork.value}, ` +
`value type = ${latestNetworkDiagnostics.noNetwork.valueType}`
);
console.log(
`networkReconnect: ${latestNetworkDiagnostics.networkReconnect.value}, ` +
`value type = ${latestNetworkDiagnostics.networkReconnect.valueType}`
);
console.log(
`networkReceiveQuality: ${latestNetworkDiagnostics.networkReceiveQuality.value}, ` +
`value type = ${latestNetworkDiagnostics.networkReceiveQuality.valueType}`
);
const latestMediaDiagnostics = userFacingDiagnostics.media.getLatest();
console.log(
`speakingWhileMicrophoneIsMuted: ${latestMediaDiagnostics.speakingWhileMicrophoneIsMuted.value}, ` +
`value type = ${latestMediaDiagnostics.speakingWhileMicrophoneIsMuted.valueType}`
);
console.log(
`cameraStartFailed: ${latestMediaDiagnostics.cameraStartFailed.value}, ` +
`value type = ${latestMediaDiagnostics.cameraStartFailed.valueType}`
);
console.log(
`microphoneNotFunctioning: ${latestMediaDiagnostics.microphoneNotFunctioning.value}, ` +
`value type = ${latestMediaDiagnostics.microphoneNotFunctioning.valueType}`
);
Tanılama değerleri
Aşağıdaki kullanıcıya yönelik tanılamalar kullanılabilir:
Ağ değerleri
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
networkUnavailable | Kullanılabilir ağ yok. | - Kullanılabilir ağ olmadığından bir çağrının başlatılamadığı zaman olarak ayarlayın True . - ICE adaylarının mevcut olduğu zaman olarak ayarlayın False . |
Cihaz bir ağa bağlı değil. | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ iyileştirme bölümüne bakın. |
networkRelaysUnreachable | Ağ ile ilgili sorunlar. | - Ağ, Azure İletişim Hizmetleri geçişlere ulaşmanıza izin vermeyecek bir kısıtlamaya sahip olduğunda olarak ayarlayınTrue . - Yeni bir arama yaptıktan sonra olarak False ayarlayın. |
WiFi sinyalinin açık ve kapalı olduğu bir arama sırasında. | Güvenlik duvarı kurallarının ve ağ yönlendirmenin istemcinin Microsoft turn sunucularına erişmesine izin olduğundan emin olun. Daha fazla bilgi için Güvenlik duvarı yapılandırması bölümüne bakın. |
networkReconnectionQuality | Bağlantı kesildi ve ağa yeniden bağlanıyoruz. | - Ağ bağlantısının kesildiğinde olarak ayarlayınBad - Medya taşıma bağlantısının ne zaman kaybedildiğine Poor ayarlayın - Yeni bir oturumun bağlı olduğu zaman olarak Good ayarlayın. |
Düşük bant genişliği, İnternet yok | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. |
networkReceiveQuality | Gelen akış kalitesiyle ilgili bir gösterge. | - Akışı almayla ilgili ciddi bir sorun olduğunda olarak ayarlayınBad . - Akışı almayla ilgili hafif bir sorun olduğunda olarak ayarlayın Poor . - Akışı almada sorun olmadığında olarak ayarlayın Good . - Yalnızca aramada etkin bir ses akışı varsa görünür; bu da katılımcının belirli bir süre boyunca etkin bir şekilde konuştuğu anlamına gelir. |
Düşük bant genişliği | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. Kullanılabilir İnternet bant genişliğini korumak için son kullanıcının kamerasını kapatmasını önerin. |
networkSendQuality | Giden akış kalitesiyle ilgili bir gösterge. | - Akışı gönderirken ciddi bir sorun olduğunda olarak ayarlayınBad . - Akışı gönderirken hafif bir sorun olduğunda olarak ayarlayın Poor . - Akışı gönderirken sorun olmadığında olarak ayarlayın Good . - Kalite tanılamasını almaya benzer şekilde, yalnızca aramada etkin bir ses akışı varsa görünür ve bu da katılımcının belirli bir süre boyunca etkin bir şekilde konuştuğu anlamına gelir. Ancak, kaliteyi doğrulamak için diğer taraftan gelen bilgilere bağlı olduğundan yalnızca 1:1 çağrısında çalışır. Diğer tarafın alınan verilere sinyal göndermesi gereken yer. |
Düşük bant genişliği | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. Ayrıca, kullanılabilir İnternet bant genişliğini korumak için son kullanıcının kamerasını kapatmasını önerin. |
Ses değerleri
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
noSpeakerDevicesAvailable | kullanıcının sisteminde ses çıkış cihazı (hoparlör) yoktur. | - Sistemde hoparlör cihazı olmadığında olarak ayarlanır True ve konuşmacı seçimi desteklenir. - Sistemde en az bir hoparlör cihazı olduğunda olarak ayarlayın False ve konuşmacı seçimi destekleniyor. |
Tüm hoparlörler fişsiz | değeri olarak True ayarlandığında, son kullanıcıya geçerli arama oturumlarında kullanılabilir konuşmacı olmadığını belirten görsel bildirim vermeyi göz önünde bulundurun. |
speakingWhileMicrophoneIsMuted | Sessizdeyken konuşmak. | - Yerel mikrofonun sesi kapatıldığında ve yerel kullanıcı konuştuğunda olarak ayarlayın True . - Yerel kullanıcı konuşmayı durdurduğunda veya mikrofonun sesini kapattığında olarak ayarlayın False . - Bu tanılama olayı, gürültüden kaçınmak ve daha iyi bir kullanıcı deneyimi sağlamak için herhangi bir kullanıcı eylemi olmadan belirli bir süre tetiklenirse otomatik olarak devre dışı bırakılabilir. Yeni bir sessiz eylemi gerçekleştiğinde yeniden etkinleştirilir. |
Arama sırasında mikrofonunuzun sesini kapatıp konuşun. | Değer, son kullanıcıya konuştuğunu ve sesinin kapalı olduğunu fark etmeyebileceğine ilişkin görsel bildirim vermeyi göz önünde bulunduracak şekilde ayarlandığında True . |
noMicrophoneDevicesAvailable | Kullanıcının sisteminde ses yakalama cihazı (mikrofon) yok | - Sistemde mikrofon cihazı olmadığında olarak ayarlayın True . - Sistemde en az bir mikrofon cihazı olduğunda olarak ayarlayın False . |
Arama sırasında tüm mikrofonların fişi çıkarılır. | Değer, son kullanıcıya geçerli arama oturumlarında mikrofon olmadığını belirten görsel bildirim vermeyi göz önünde bulunduracak şekilde ayarlandığında True . Daha fazla bilgi için cihaz yöneticisinden mikrofonu etkinleştirme bölümüne bakın. |
mikrofonNotFunctioning | Mikrofon çalışmıyor. | - Mikrofon cihazı sistemde devre dışı bırakılmış olabileceği veya başka bir işlem tarafından kullanıldığı için yerel ses akışı göndermeye başlayamadığımızda olarak ayarlayın True . Bu UFD'nin yükseltilmesi yaklaşık 10 saniye sürer. - Mikrofon yeniden başarılı bir şekilde ses akışı göndermeye başladığında olarak ayarlayın False . |
Kullanılabilir mikrofon yok, sistemde mikrofon erişimi devre dışı | Değer, son kullanıcıya mikrofonuyla ilgili bir sorun olduğunu belirten görsel bildirim verecek şekilde ayarlandığında True . |
microphoneMuteUnexpectedly | Mikrofonun sesi kapatıldı | - Mikrofonun sessiz duruma beklenmedik bir şekilde girdiği zaman olarak ayarlayın True . - Mikrofon başarılı bir şekilde ses akışı göndermeye başladığında olarak ayarlayın False |
Mikrofonun sesi sistemden kapatıldı. Çoğu durum, kullanıcı mobil cihazda bir Azure İletişim Hizmetleri aramasında olduğunda ve bir telefon araması geldiğinde gerçekleşir. Çoğu durumda, işletim sistemi Azure İletişim Hizmetleri aramasının sesini kapatarak kullanıcının telefon aramasını yanıtlamasını sağlar. | değeri olarak True ayarlandığında, son kullanıcıya bir telefon araması geldiği için aramanın sesinin kapatıldığını belirten görsel bildirimde bulunun. Daha fazla bilgi için, daha fazla ayrıntı için Azure İletişim Hizmetleri arama bölümünün sessize alınarak işletim sisteminin nasıl en iyi şekilde işleneceğini öğrenin. |
mikrofonPermissionDenied | cihazdan düşük ses düzeyi var veya macOS'ta neredeyse sessiz. | - Ses izninin sistem ayarlarından (ses) reddedildiğinde olarak ayarlayın True . - Başarılı akış alımında olarak False ayarlayın. Not: Bu tanılama yalnızca macOS'ta çalışır. |
mikrofon izinleri Ayarlar devre dışı bırakılır. | değeri olarak True ayarlandığında, son kullanıcıya bir Azure İletişim Hizmetleri çağrısı için mikrofon kullanma iznini etkinleştirmediğini belirten görsel bildirim verin. |
değerleri Kamera
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
cameraFrozen | Kamera 5 saniyeden uzun süre çerçeve üretmeyi durdurur. | - Yerel video akışının ne zaman dondurulduğunda olarak ayarlayın True . Bu tanılama, uzak tarafın videonuzu ekranlarında donmuş olarak gördüğü veya uzak katılımcıların videonuzu kendi ekranlarında işlemedikleri anlamına gelir. - Dondurmanın ne zaman sona erdiğini ve kullanıcıların videonuzu normal şekilde görebileceği şekilde ayarlayın False . |
arama sırasında Kamera kayboldu veya kötü ağ kameranın donmasına neden oldu. | değeri olarak True ayarlandığında, son kullanıcıya uzak katılımcı ağının kötü olabileceğine dair bildirim vermeyi göz önünde bulundurun; bant genişliğini korumak için kamerasını kapatmalarını önerebilir. Daha fazla bilgi için, Azure İletişim Hizmetleri çağrısı için gerekli İnternet becerileriyle ilgili ağ bant genişliği gereksinimi bölümüne bakın. |
cameraStartFailed | Genel kamera hatası. | - Kamera cihazı sistemde devre dışı bırakılmış olabileceği veya başka bir işlem tarafından kullanıldığı için yerel video göndermeye başlayamadığımız zaman olarak ayarlayın True ~. - Seçili kamera cihazının False yeniden yerel video gönderdiğinde olarak ayarlayın. |
Kamera hataları | değeri olarak True ayarlandığında, son kullanıcıya kameralarının başlatılamadığını belirten görsel bir bildirim verin. |
cameraStartTimedOut | Kameranın kötü durumda olduğu yaygın senaryo. | - Video akışı göndermeye başlamak için True kamera cihazının zaman aşımına uğradıklarına ayarlayın. - Seçili kamera cihazının False yeniden yerel video gönderdiğinde olarak ayarlayın. |
Kamera hataları | değeri olarak True ayarlandığında, son kullanıcıya kameralarında sorun olabileceğini belirten görsel bir bildirim verin. (Değer bildirimi kaldırmak için False geri ayarlandığında). |
cameraPermissionDenied | ayarlarda Kamera izinleri reddedildi. | - Sistem ayarlarından (video) kamera izninin ne zaman reddedildiğinde olarak ayarlayın True . - Başarılı akış alımında olarak False ayarlayın. Not: Bu tanılama yalnızca macOS Chrome'da çalışır. |
Kamera izinleri ayarlarda devre dışı bırakılır. | değeri olarak True ayarlandığında, son kullanıcıya bir Azure İletişim Hizmetleri çağrısı için kamera kullanma iznini etkinleştirmediğini belirten görsel bildirim verin. |
cameraStoppedUnexpectedly | Kamera arızası | - Kamera beklenmedik bir şekilde durduruldu durumuna girdiğinde olarak ayarlayın True . - Kamera yeniden başarılı bir şekilde video akışı göndermeye başladığında olarak ayarlayın False . |
Kameranın düzgün çalıştığını denetleyin. | değeri olarak True ayarlandığında, son kullanıcıya kameralarında sorun olabileceğini belirten görsel bir bildirim verin. (Değer bildirimi kaldırmak için False geri ayarlandığında). |
Yalnızca yerel
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Düzeltme Adımları |
---|---|---|---|---|
speakerVolumeIsZero | Cihazda (hoparlör) sıfır ses düzeyi. | - Hoparlör sesi sıfır olduğunda olarak ayarlayın True . - Hoparlör ses düzeyi sıfır olmadığında olarak ayarlayın False . |
Arama sırasında katılımcılardan ses alınmıyor. | Değer olarak True ayarlandığında, birimi yanlışlıkla en düşükte (sıfır) yapmış olabilirsiniz. |
speakerMuted | Hoparlör cihazının sesi kapatıldı. | - Hoparlör cihazının sesi kapatıldığında olarak ayarlayın True . - Hoparlör cihazının sesi kapatıldığında olarak ayarlayın False . |
Arama sırasında katılımcılardan ses alınmıyor. | Değer olarak True ayarlandığında, hoparlörün sesini yanlışlıkla kapatmış olabilirsiniz. |
speakerBusy | Hoparlör zaten kullanımda. Cihaz özel kullanım modunda kullanılıyor veya cihaz paylaşılan modda kullanılıyor ve arayan kişi cihazı özel kullanım modunda kullanmak istedi. | - Hoparlör cihazı akışı alma zaman aşımına uğradı (ses) olarak ayarlayın True . - Konuşmacı alımının başarılı olduğu zaman olarak False ayarlayın. |
Konuşmacı aracılığıyla arama sırasında katılımcılardan ses duyamayın. | değeri olarak True ayarlandığında, son kullanıcıya görsel bildirim verin, böylece başka bir uygulamanın hoparlörü kullanıp kullanmadığından ve kapatmayı deneyebileceğinden. |
speakerNotFunctioning | Hoparlör çalışmıyor (ses cihazı istemcisi başlatılamadı veya cihaz 5 saniyeden uzun süre etkin değil oldu) | - Hoparlör kullanılamadığında olarak ayarlayın True veya cihaz akışı alma zaman aşımına uğradı (ses). - Konuşmacı alımının başarılı olduğu zaman olarak False ayarlayın. |
Konuşmacı aracılığıyla arama sırasında katılımcılardan ses duyamayın. | Hoparlör cihazının durumunu denetlemeyi deneyin. |
microphoneBusy | Mikrofon zaten kullanımda. Cihaz özel kullanım modunda kullanılıyor veya cihaz paylaşılan modda kullanılıyor ve arayan kişi cihazı özel kullanım modunda kullanmak istedi. | - Mikrofon cihazı akışı alma zaman aşımına uğradı (ses) olarak ayarlayın True . - Mikrofon alımı başarılı olduğunda olarak False ayarlayın. |
Sesiniz aramadaki diğer katılımcılara ulaşmıyor. | Değer olarak True ayarlandığında, mikrofonu başka bir uygulamanın kullanıp kullanmadiğini denetleyebilmesi ve kapatmayı deneyebilmesi için son kullanıcıya görsel bildirim verin. |
Tanılamaya erişme
Kullanıcıya yönelik tanılama, çekirdek Call
API'nin genişletilmiş bir özelliğidir ve etkin bir çağrıyı tanılamanıza olanak tanır.
DiagnosticsCallFeature diagnosticsCallFeature = call.feature(Features.LOCAL_USER_DIAGNOSTICS);
Kullanıcıya Yönelik Tanılama olayları
- Özellik nesnesini alın ve tanılama olaylarına dinleyiciler ekleyin.
DiagnosticsCallFeature diagnosticsCallFeature = call.feature(Features.LOCAL_USER_DIAGNOSTICS);
/* NetworkDiagnostic */
FlagDiagnosticChangedListener listener = (FlagDiagnosticChangedEvent args) -> {
Boolean mediaValue = args.getValue();
// Handle new value for no network diagnostic.
};
NetworkDiagnostics networkDiagnostics = diagnosticsCallFeature.getNetworkDiagnostics();
networkDiagnostics.addOnNetworkUnreachableChangedListener(listener);
// To remove listener for network quality event
networkDiagnostics.removeOnNetworkUnreachableChangedListener(listener);
// Quality Diagnostics
DiagnosticsCallFeature diagnosticsCallFeature = call.feature(Features.LOCAL_USER_DIAGNOSTICS);
QualityDiagnosticChangedListener listener = (QualityDiagnosticChangedEvent args) -> {
DiagnosticQuality diagnosticQuality = args.getValue();
// Handle new value for network reconnect diagnostic.
};
NetworkDiagnostics networkDiagnostics = diagnosticsCallFeature.getNetworkDiagnostics();
networkDiagnostics.addOnNetworkReconnectionQualityChangedListener(listener);
// To remove listener for media flag event
networkDiagnostics.removeOnNetworkReconnectionQualityChangedListener(listener);
/* MediaDiagnostic */
DiagnosticsCallFeature diagnosticsCallFeature = call.feature(Features.LOCAL_USER_DIAGNOSTICS);
FlagDiagnosticChangedListener listener = (FlagDiagnosticChangedEvent args) -> {
Boolean mediaValue = args.getValue();
// Handle new value for speaker not functioning diagnostic.
};
MediaDiagnostics mediaDiagnostics = diagnosticsCallFeature.getMedia();
mediaDiagnostics.addOnIsSpeakerNotFunctioningChangedListener(listener);
// To remove listener for media flag event
mediaDiagnostics.removeOnIsSpeakerNotFunctioningChangedListener(listener);
Kullanıcıya Yönelik En Son Tanılamaları Alma
- Geçerli çağrıda ortaya çıkarılmış en son tanılama değerlerini alın. Tanılama için hala bir değer almadıysak, bir özel durum oluşturulur.
DiagnosticsCallFeature diagnosticsCallFeature = call.feature(Features.LOCAL_USER_DIAGNOSTICS);
NetworkDiagnostics networkDiagnostics = diagnosticsCallFeature.getNetwork();
MediaDiagnostics mediaDiagnostics = diagnosticsCallFeature.getMedia();
NetworkDiagnosticValues latestNetwork = networkDiagnostics.getLatestDiagnostics();
Boolean lastNetworkValue = latestNetwork.isNetworkUnavailable(); // null if there isn't a value for this diagnostic.
DiagnosticQuality lastReceiveQualityValue = latestNetwork.getNetworkReceiveQuality(); // UNKNOWN if there isn't a value for this diagnostic.
MediaDiagnosticValues latestMedia = networkDiagnostics.getLatestDiagnostics();
Boolean lastSpeakerNotFunctionValue = latestMedia.isSpeakerNotFunctioning(); // null if there isn't a value for this diagnostic.
// Use the last values ...
Tanılama değerleri
Aşağıdaki kullanıcıya yönelik tanılamalar kullanılabilir:
Ağ değerleri
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
networkUnavailable | Kullanılabilir ağ yok. | - Kullanılabilir ağ olmadığından bir çağrının başlatılamadığı zaman olarak ayarlayın True . - ICE adaylarının mevcut olduğu zaman olarak ayarlayın False . |
Cihaz bir ağa bağlı değil. | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ iyileştirme bölümüne bakın. |
networkRelaysUnreachable | Ağ ile ilgili sorunlar. | - Ağ, Azure İletişim Hizmetleri geçişlere ulaşmanıza izin vermeyecek bir kısıtlamaya sahip olduğunda olarak ayarlayınTrue . - Yeni bir arama yaptıktan sonra olarak False ayarlayın. |
WiFi sinyalinin açık ve kapalı olduğu bir arama sırasında. | Güvenlik duvarı kurallarının ve ağ yönlendirmenin istemcinin Microsoft turn sunucularına erişmesine izin olduğundan emin olun. Daha fazla bilgi için Güvenlik duvarı yapılandırması bölümüne bakın. |
networkReconnectionQuality | Bağlantı kesildi ve ağa yeniden bağlanıyoruz. | - Ağ bağlantısının kesildiğinde olarak ayarlayınBad - Medya taşıma bağlantısının ne zaman kaybedildiğine Poor ayarlayın - Yeni bir oturumun bağlı olduğu zaman olarak Good ayarlayın. |
Düşük bant genişliği, İnternet yok | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. |
networkReceiveQuality | Gelen akış kalitesiyle ilgili bir gösterge. | - Akışı almayla ilgili ciddi bir sorun olduğunda olarak ayarlayınBad . - Akışı almayla ilgili hafif bir sorun olduğunda olarak ayarlayın Poor . - Akışı almada sorun olmadığında olarak ayarlayın Good . - Yalnızca aramada etkin bir ses akışı varsa görünür; bu da katılımcının belirli bir süre boyunca etkin bir şekilde konuştuğu anlamına gelir. |
Düşük bant genişliği | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. Kullanılabilir İnternet bant genişliğini korumak için son kullanıcının kamerasını kapatmasını önerin. |
networkSendQuality | Giden akış kalitesiyle ilgili bir gösterge. | - Akışı gönderirken ciddi bir sorun olduğunda olarak ayarlayınBad . - Akışı gönderirken hafif bir sorun olduğunda olarak ayarlayın Poor . - Akışı gönderirken sorun olmadığında olarak ayarlayın Good . - Kalite tanılamasını almaya benzer şekilde, yalnızca aramada etkin bir ses akışı varsa görünür ve bu da katılımcının belirli bir süre boyunca etkin bir şekilde konuştuğu anlamına gelir. Ancak, kaliteyi doğrulamak için diğer taraftan gelen bilgilere bağlı olduğundan yalnızca 1:1 çağrısında çalışır. Diğer tarafın alınan verilere sinyal göndermesi gereken yer. |
Düşük bant genişliği | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. Ayrıca, kullanılabilir İnternet bant genişliğini korumak için son kullanıcının kamerasını kapatmasını önerin. |
Ses değerleri
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
noSpeakerDevicesAvailable | kullanıcının sisteminde ses çıkış cihazı (hoparlör) yoktur. | - Sistemde hoparlör cihazı olmadığında olarak ayarlanır True ve konuşmacı seçimi desteklenir. - Sistemde en az bir hoparlör cihazı olduğunda olarak ayarlayın False ve konuşmacı seçimi destekleniyor. |
Tüm hoparlörler fişsiz | değeri olarak True ayarlandığında, son kullanıcıya geçerli arama oturumlarında kullanılabilir konuşmacı olmadığını belirten görsel bildirim vermeyi göz önünde bulundurun. |
speakingWhileMicrophoneIsMuted | Sessizdeyken konuşmak. | - Yerel mikrofonun sesi kapatıldığında ve yerel kullanıcı konuştuğunda olarak ayarlayın True . - Yerel kullanıcı konuşmayı durdurduğunda veya mikrofonun sesini kapattığında olarak ayarlayın False . - Bu tanılama olayı, gürültüden kaçınmak ve daha iyi bir kullanıcı deneyimi sağlamak için herhangi bir kullanıcı eylemi olmadan belirli bir süre tetiklenirse otomatik olarak devre dışı bırakılabilir. Yeni bir sessiz eylemi gerçekleştiğinde yeniden etkinleştirilir. |
Arama sırasında mikrofonunuzun sesini kapatıp konuşun. | Değer, son kullanıcıya konuştuğunu ve sesinin kapalı olduğunu fark etmeyebileceğine ilişkin görsel bildirim vermeyi göz önünde bulunduracak şekilde ayarlandığında True . |
noMicrophoneDevicesAvailable | Kullanıcının sisteminde ses yakalama cihazı (mikrofon) yok | - Sistemde mikrofon cihazı olmadığında olarak ayarlayın True . - Sistemde en az bir mikrofon cihazı olduğunda olarak ayarlayın False . |
Arama sırasında tüm mikrofonların fişi çıkarılır. | Değer, son kullanıcıya geçerli arama oturumlarında mikrofon olmadığını belirten görsel bildirim vermeyi göz önünde bulunduracak şekilde ayarlandığında True . Daha fazla bilgi için cihaz yöneticisinden mikrofonu etkinleştirme bölümüne bakın. |
mikrofonNotFunctioning | Mikrofon çalışmıyor. | - Mikrofon cihazı sistemde devre dışı bırakılmış olabileceği veya başka bir işlem tarafından kullanıldığı için yerel ses akışı göndermeye başlayamadığımızda olarak ayarlayın True . Bu UFD'nin yükseltilmesi yaklaşık 10 saniye sürer. - Mikrofon yeniden başarılı bir şekilde ses akışı göndermeye başladığında olarak ayarlayın False . |
Kullanılabilir mikrofon yok, sistemde mikrofon erişimi devre dışı | Değer, son kullanıcıya mikrofonuyla ilgili bir sorun olduğunu belirten görsel bildirim verecek şekilde ayarlandığında True . |
microphoneMuteUnexpectedly | Mikrofonun sesi kapatıldı | - Mikrofonun sessiz duruma beklenmedik bir şekilde girdiği zaman olarak ayarlayın True . - Mikrofon başarılı bir şekilde ses akışı göndermeye başladığında olarak ayarlayın False |
Mikrofonun sesi sistemden kapatıldı. Çoğu durum, kullanıcı mobil cihazda bir Azure İletişim Hizmetleri aramasında olduğunda ve bir telefon araması geldiğinde gerçekleşir. Çoğu durumda, işletim sistemi Azure İletişim Hizmetleri aramasının sesini kapatarak kullanıcının telefon aramasını yanıtlamasını sağlar. | değeri olarak True ayarlandığında, son kullanıcıya bir telefon araması geldiği için aramanın sesinin kapatıldığını belirten görsel bildirimde bulunun. Daha fazla bilgi için, daha fazla ayrıntı için Azure İletişim Hizmetleri arama bölümünün sessize alınarak işletim sisteminin nasıl en iyi şekilde işleneceğini öğrenin. |
mikrofonPermissionDenied | cihazdan düşük ses düzeyi var veya macOS'ta neredeyse sessiz. | - Ses izninin sistem ayarlarından (ses) reddedildiğinde olarak ayarlayın True . - Başarılı akış alımında olarak False ayarlayın. Not: Bu tanılama yalnızca macOS'ta çalışır. |
mikrofon izinleri Ayarlar devre dışı bırakılır. | değeri olarak True ayarlandığında, son kullanıcıya bir Azure İletişim Hizmetleri çağrısı için mikrofon kullanma iznini etkinleştirmediğini belirten görsel bildirim verin. |
değerleri Kamera
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
cameraFrozen | Kamera 5 saniyeden uzun süre çerçeve üretmeyi durdurur. | - Yerel video akışının ne zaman dondurulduğunda olarak ayarlayın True . Bu tanılama, uzak tarafın videonuzu ekranlarında donmuş olarak gördüğü veya uzak katılımcıların videonuzu kendi ekranlarında işlemedikleri anlamına gelir. - Dondurmanın ne zaman sona erdiğini ve kullanıcıların videonuzu normal şekilde görebileceği şekilde ayarlayın False . |
arama sırasında Kamera kayboldu veya kötü ağ kameranın donmasına neden oldu. | değeri olarak True ayarlandığında, son kullanıcıya uzak katılımcı ağının kötü olabileceğine dair bildirim vermeyi göz önünde bulundurun; bant genişliğini korumak için kamerasını kapatmalarını önerebilir. Daha fazla bilgi için, Azure İletişim Hizmetleri çağrısı için gerekli İnternet becerileriyle ilgili ağ bant genişliği gereksinimi bölümüne bakın. |
cameraStartFailed | Genel kamera hatası. | - Kamera cihazı sistemde devre dışı bırakılmış olabileceği veya başka bir işlem tarafından kullanıldığı için yerel video göndermeye başlayamadığımız zaman olarak ayarlayın True ~. - Seçili kamera cihazının False yeniden yerel video gönderdiğinde olarak ayarlayın. |
Kamera hataları | değeri olarak True ayarlandığında, son kullanıcıya kameralarının başlatılamadığını belirten görsel bir bildirim verin. |
cameraStartTimedOut | Kameranın kötü durumda olduğu yaygın senaryo. | - Video akışı göndermeye başlamak için True kamera cihazının zaman aşımına uğradıklarına ayarlayın. - Seçili kamera cihazının False yeniden yerel video gönderdiğinde olarak ayarlayın. |
Kamera hataları | değeri olarak True ayarlandığında, son kullanıcıya kameralarında sorun olabileceğini belirten görsel bir bildirim verin. (Değer bildirimi kaldırmak için False geri ayarlandığında). |
cameraPermissionDenied | ayarlarda Kamera izinleri reddedildi. | - Sistem ayarlarından (video) kamera izninin ne zaman reddedildiğinde olarak ayarlayın True . - Başarılı akış alımında olarak False ayarlayın. Not: Bu tanılama yalnızca macOS Chrome'da çalışır. |
Kamera izinleri ayarlarda devre dışı bırakılır. | değeri olarak True ayarlandığında, son kullanıcıya bir Azure İletişim Hizmetleri çağrısı için kamera kullanma iznini etkinleştirmediğini belirten görsel bildirim verin. |
cameraStoppedUnexpectedly | Kamera arızası | - Kamera beklenmedik bir şekilde durduruldu durumuna girdiğinde olarak ayarlayın True . - Kamera yeniden başarılı bir şekilde video akışı göndermeye başladığında olarak ayarlayın False . |
Kameranın düzgün çalıştığını denetleyin. | değeri olarak True ayarlandığında, son kullanıcıya kameralarında sorun olabileceğini belirten görsel bir bildirim verin. (Değer bildirimi kaldırmak için False geri ayarlandığında). |
Yalnızca yerel
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Düzeltme Adımları |
---|---|---|---|---|
speakerVolumeIsZero | Cihazda (hoparlör) sıfır ses düzeyi. | - Hoparlör sesi sıfır olduğunda olarak ayarlayın True . - Hoparlör ses düzeyi sıfır olmadığında olarak ayarlayın False . |
Arama sırasında katılımcılardan ses alınmıyor. | Değer olarak True ayarlandığında, birimi yanlışlıkla en düşükte (sıfır) yapmış olabilirsiniz. |
speakerMuted | Hoparlör cihazının sesi kapatıldı. | - Hoparlör cihazının sesi kapatıldığında olarak ayarlayın True . - Hoparlör cihazının sesi kapatıldığında olarak ayarlayın False . |
Arama sırasında katılımcılardan ses alınmıyor. | Değer olarak True ayarlandığında, hoparlörün sesini yanlışlıkla kapatmış olabilirsiniz. |
speakerBusy | Hoparlör zaten kullanımda. Cihaz özel kullanım modunda kullanılıyor veya cihaz paylaşılan modda kullanılıyor ve arayan kişi cihazı özel kullanım modunda kullanmak istedi. | - Hoparlör cihazı akışı alma zaman aşımına uğradı (ses) olarak ayarlayın True . - Konuşmacı alımının başarılı olduğu zaman olarak False ayarlayın. |
Konuşmacı aracılığıyla arama sırasında katılımcılardan ses duyamayın. | değeri olarak True ayarlandığında, son kullanıcıya görsel bildirim verin, böylece başka bir uygulamanın hoparlörü kullanıp kullanmadığından ve kapatmayı deneyebileceğinden. |
speakerNotFunctioning | Hoparlör çalışmıyor (ses cihazı istemcisi başlatılamadı veya cihaz 5 saniyeden uzun süre etkin değil oldu) | - Hoparlör kullanılamadığında olarak ayarlayın True veya cihaz akışı alma zaman aşımına uğradı (ses). - Konuşmacı alımının başarılı olduğu zaman olarak False ayarlayın. |
Konuşmacı aracılığıyla arama sırasında katılımcılardan ses duyamayın. | Hoparlör cihazının durumunu denetlemeyi deneyin. |
microphoneBusy | Mikrofon zaten kullanımda. Cihaz özel kullanım modunda kullanılıyor veya cihaz paylaşılan modda kullanılıyor ve arayan kişi cihazı özel kullanım modunda kullanmak istedi. | - Mikrofon cihazı akışı alma zaman aşımına uğradı (ses) olarak ayarlayın True . - Mikrofon alımı başarılı olduğunda olarak False ayarlayın. |
Sesiniz aramadaki diğer katılımcılara ulaşmıyor. | Değer olarak True ayarlandığında, mikrofonu başka bir uygulamanın kullanıp kullanmadiğini denetleyebilmesi ve kapatmayı deneyebilmesi için son kullanıcıya görsel bildirim verin. |
Tanılamaya erişme
Kullanıcıya yönelik tanılama, çekirdek Call
API'nin genişletilmiş bir özelliğidir ve etkin bir çağrıyı tanılamanıza olanak tanır.
let userFacingDiagnostics = self.call?.feature(Features.localUserDiagnostics)
Kullanıcıya Yönelik Tanılama olayları
- ve
network
tanılama kaynakları içinmedia
temsilcileri uygulayın.MediaDiagnosticsDelegate
veNetworkDiagnosticsDelegate
sırasıyla.
extension CallObserver: MediaDiagnosticsDelegate {
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsCameraFrozen args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsSpeakerMuted args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsCameraStartFailed args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsSpeakerVolumeZero args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsSpeakerNotFunctioning args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsCameraPermissionDenied args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsMicrophoneNotFunctioning args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsCameraStartTimedOut args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsMicrophoneMutedUnexpectedly args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsZeroSpeakerDevicesAvailable args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsZeroMicrophoneDevicesAvailable args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsSpeakingWhileMicrophoneIsMuted args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsSpeakerBusy args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func mediaDiagnostics(_ mediaDiagnostics: MediaDiagnostics,
didChangeIsMicrophoneBusy args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
}
extension CallObserver: NetworkDiagnosticsDelegate {
func networkDiagnostics(_ networkDiagnostics: NetworkDiagnostics,
didChangeIsNetworkRelaysUnreachable args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func networkDiagnostics(_ networkDiagnostics: NetworkDiagnostics,
didChangeNetworkReconnectionQuality args: DiagnosticQualityChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func networkDiagnostics(_ networkDiagnostics: NetworkDiagnostics,
didChangeNetworkSendQuality args: DiagnosticQualityChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func networkDiagnostics(_ networkDiagnostics: NetworkDiagnostics,
didChangeIsNetworkUnavailable args: DiagnosticFlagChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
func networkDiagnostics(_ networkDiagnostics: NetworkDiagnostics,
didChangeNetworkReceiveQuality args: DiagnosticQualityChangedEventArgs) {
let newValue = args.value
// Handle the diagnostic event value changed...
}
}
- ve tanılamaları için
media
bir başvuru tutun venetwork
olayları dinlemek için temsilci nesnesi ayarlayın.
self.mediaDiagnostics = userFacingDiagnostics?.media
self.networkDiagnostics = userFacingDiagnostics?.network
self.mediaDiagnostics?.delegate = self.callObserver
self.networkDiagnostics?.delegate = self.callObserver
Not
SDK aracılığıyla etkinleştirdiyseniz CallKit
veya uygulamanızda CallKit tümleştirmesi uyguladıysanız, işletim sisteminin CallKit'e sessiz durumunu raporlamak, kullanıcının konuştuğunu algılamak için mikrofon cihazından gelen girişleri yakalayamadığımız için olayın beklendiği gibi çalışmamasına neden olabilecek gizlilik nedenleriyle uygulamanın mikrofona ayrı tutmayı kaybetmesine neden didIsSpeakingWhileMicrophoneIsMuted
olabilir.
Kullanıcıya Yönelik En Son Tanılamaları Alma
- Yükseltilen en son tanılama değerlerini alın. Tanılama
nil
için hala bir değer almadıysak veya.unknown
döndürülürse.
let lastSpeakerNotFunctionValue = self.mediaDiagnostics.latest.isSpeakerNotFunctioning // Boolean?
let lastNetworkRelayNotReachableValue = self.networkDiagnostics.latest.networkRelaysUnreachable // Boolean?
let lastReceiveQualityValue = self.networkDiagnostics.latest.networkReceiveQuality // DiagnosticQuality (.good, .poor, .bad)
// or .unknown if there isn't a diagnostic for this.
Tanılama değerleri
Aşağıdaki kullanıcıya yönelik tanılamalar kullanılabilir:
Ağ değerleri
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
networkUnavailable | Kullanılabilir ağ yok. | - Kullanılabilir ağ olmadığından bir çağrının başlatılamadığı zaman olarak ayarlayın True . - ICE adaylarının mevcut olduğu zaman olarak ayarlayın False . |
Cihaz bir ağa bağlı değil. | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ iyileştirme bölümüne bakın. |
networkRelaysUnreachable | Ağ ile ilgili sorunlar. | - Ağ, Azure İletişim Hizmetleri geçişlere ulaşmanıza izin vermeyecek bir kısıtlamaya sahip olduğunda olarak ayarlayınTrue . - Yeni bir arama yaptıktan sonra olarak False ayarlayın. |
WiFi sinyalinin açık ve kapalı olduğu bir arama sırasında. | Güvenlik duvarı kurallarının ve ağ yönlendirmenin istemcinin Microsoft turn sunucularına erişmesine izin olduğundan emin olun. Daha fazla bilgi için Güvenlik duvarı yapılandırması bölümüne bakın. |
networkReconnectionQuality | Bağlantı kesildi ve ağa yeniden bağlanıyoruz. | - Ağ bağlantısının kesildiğinde olarak ayarlayınBad - Medya taşıma bağlantısının ne zaman kaybedildiğine Poor ayarlayın - Yeni bir oturumun bağlı olduğu zaman olarak Good ayarlayın. |
Düşük bant genişliği, İnternet yok | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. |
networkReceiveQuality | Gelen akış kalitesiyle ilgili bir gösterge. | - Akışı almayla ilgili ciddi bir sorun olduğunda olarak ayarlayınBad . - Akışı almayla ilgili hafif bir sorun olduğunda olarak ayarlayın Poor . - Akışı almada sorun olmadığında olarak ayarlayın Good . - Yalnızca aramada etkin bir ses akışı varsa görünür; bu da katılımcının belirli bir süre boyunca etkin bir şekilde konuştuğu anlamına gelir. |
Düşük bant genişliği | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. Kullanılabilir İnternet bant genişliğini korumak için son kullanıcının kamerasını kapatmasını önerin. |
networkSendQuality | Giden akış kalitesiyle ilgili bir gösterge. | - Akışı gönderirken ciddi bir sorun olduğunda olarak ayarlayınBad . - Akışı gönderirken hafif bir sorun olduğunda olarak ayarlayın Poor . - Akışı gönderirken sorun olmadığında olarak ayarlayın Good . - Kalite tanılamasını almaya benzer şekilde, yalnızca aramada etkin bir ses akışı varsa görünür ve bu da katılımcının belirli bir süre boyunca etkin bir şekilde konuştuğu anlamına gelir. Ancak, kaliteyi doğrulamak için diğer taraftan gelen bilgilere bağlı olduğundan yalnızca 1:1 çağrısında çalışır. Diğer tarafın alınan verilere sinyal göndermesi gereken yer. |
Düşük bant genişliği | Aramanın sesli aramayı sürdürebilecek güvenilir bir İnternet bağlantısına sahip olduğundan emin olun. Daha fazla bilgi için Ağ bant genişliği gereksinimi bölümüne bakın. Ayrıca, kullanılabilir İnternet bant genişliğini korumak için son kullanıcının kamerasını kapatmasını önerin. |
Ses değerleri
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
noSpeakerDevicesAvailable | kullanıcının sisteminde ses çıkış cihazı (hoparlör) yoktur. | - Sistemde hoparlör cihazı olmadığında olarak ayarlanır True ve konuşmacı seçimi desteklenir. - Sistemde en az bir hoparlör cihazı olduğunda olarak ayarlayın False ve konuşmacı seçimi destekleniyor. |
Tüm hoparlörler fişsiz | değeri olarak True ayarlandığında, son kullanıcıya geçerli arama oturumlarında kullanılabilir konuşmacı olmadığını belirten görsel bildirim vermeyi göz önünde bulundurun. |
speakingWhileMicrophoneIsMuted | Sessizdeyken konuşmak. | - Yerel mikrofonun sesi kapatıldığında ve yerel kullanıcı konuştuğunda olarak ayarlayın True . - Yerel kullanıcı konuşmayı durdurduğunda veya mikrofonun sesini kapattığında olarak ayarlayın False . - Bu tanılama olayı, gürültüden kaçınmak ve daha iyi bir kullanıcı deneyimi sağlamak için herhangi bir kullanıcı eylemi olmadan belirli bir süre tetiklenirse otomatik olarak devre dışı bırakılabilir. Yeni bir sessiz eylemi gerçekleştiğinde yeniden etkinleştirilir. |
Arama sırasında mikrofonunuzun sesini kapatıp konuşun. | Değer, son kullanıcıya konuştuğunu ve sesinin kapalı olduğunu fark etmeyebileceğine ilişkin görsel bildirim vermeyi göz önünde bulunduracak şekilde ayarlandığında True . |
noMicrophoneDevicesAvailable | Kullanıcının sisteminde ses yakalama cihazı (mikrofon) yok | - Sistemde mikrofon cihazı olmadığında olarak ayarlayın True . - Sistemde en az bir mikrofon cihazı olduğunda olarak ayarlayın False . |
Arama sırasında tüm mikrofonların fişi çıkarılır. | Değer, son kullanıcıya geçerli arama oturumlarında mikrofon olmadığını belirten görsel bildirim vermeyi göz önünde bulunduracak şekilde ayarlandığında True . Daha fazla bilgi için cihaz yöneticisinden mikrofonu etkinleştirme bölümüne bakın. |
mikrofonNotFunctioning | Mikrofon çalışmıyor. | - Mikrofon cihazı sistemde devre dışı bırakılmış olabileceği veya başka bir işlem tarafından kullanıldığı için yerel ses akışı göndermeye başlayamadığımızda olarak ayarlayın True . Bu UFD'nin yükseltilmesi yaklaşık 10 saniye sürer. - Mikrofon yeniden başarılı bir şekilde ses akışı göndermeye başladığında olarak ayarlayın False . |
Kullanılabilir mikrofon yok, sistemde mikrofon erişimi devre dışı | Değer, son kullanıcıya mikrofonuyla ilgili bir sorun olduğunu belirten görsel bildirim verecek şekilde ayarlandığında True . |
microphoneMuteUnexpectedly | Mikrofonun sesi kapatıldı | - Mikrofonun sessiz duruma beklenmedik bir şekilde girdiği zaman olarak ayarlayın True . - Mikrofon başarılı bir şekilde ses akışı göndermeye başladığında olarak ayarlayın False |
Mikrofonun sesi sistemden kapatıldı. Çoğu durum, kullanıcı mobil cihazda bir Azure İletişim Hizmetleri aramasında olduğunda ve bir telefon araması geldiğinde gerçekleşir. Çoğu durumda, işletim sistemi Azure İletişim Hizmetleri aramasının sesini kapatarak kullanıcının telefon aramasını yanıtlamasını sağlar. | değeri olarak True ayarlandığında, son kullanıcıya bir telefon araması geldiği için aramanın sesinin kapatıldığını belirten görsel bildirimde bulunun. Daha fazla bilgi için, daha fazla ayrıntı için Azure İletişim Hizmetleri arama bölümünün sessize alınarak işletim sisteminin nasıl en iyi şekilde işleneceğini öğrenin. |
mikrofonPermissionDenied | cihazdan düşük ses düzeyi var veya macOS'ta neredeyse sessiz. | - Ses izninin sistem ayarlarından (ses) reddedildiğinde olarak ayarlayın True . - Başarılı akış alımında olarak False ayarlayın. Not: Bu tanılama yalnızca macOS'ta çalışır. |
mikrofon izinleri Ayarlar devre dışı bırakılır. | değeri olarak True ayarlandığında, son kullanıcıya bir Azure İletişim Hizmetleri çağrısı için mikrofon kullanma iznini etkinleştirmediğini belirten görsel bildirim verin. |
değerleri Kamera
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Etki azaltma adımları |
---|---|---|---|---|
cameraFrozen | Kamera 5 saniyeden uzun süre çerçeve üretmeyi durdurur. | - Yerel video akışının ne zaman dondurulduğunda olarak ayarlayın True . Bu tanılama, uzak tarafın videonuzu ekranlarında donmuş olarak gördüğü veya uzak katılımcıların videonuzu kendi ekranlarında işlemedikleri anlamına gelir. - Dondurmanın ne zaman sona erdiğini ve kullanıcıların videonuzu normal şekilde görebileceği şekilde ayarlayın False . |
arama sırasında Kamera kayboldu veya kötü ağ kameranın donmasına neden oldu. | değeri olarak True ayarlandığında, son kullanıcıya uzak katılımcı ağının kötü olabileceğine dair bildirim vermeyi göz önünde bulundurun; bant genişliğini korumak için kamerasını kapatmalarını önerebilir. Daha fazla bilgi için, Azure İletişim Hizmetleri çağrısı için gerekli İnternet becerileriyle ilgili ağ bant genişliği gereksinimi bölümüne bakın. |
cameraStartFailed | Genel kamera hatası. | - Kamera cihazı sistemde devre dışı bırakılmış olabileceği veya başka bir işlem tarafından kullanıldığı için yerel video göndermeye başlayamadığımız zaman olarak ayarlayın True ~. - Seçili kamera cihazının False yeniden yerel video gönderdiğinde olarak ayarlayın. |
Kamera hataları | değeri olarak True ayarlandığında, son kullanıcıya kameralarının başlatılamadığını belirten görsel bir bildirim verin. |
cameraStartTimedOut | Kameranın kötü durumda olduğu yaygın senaryo. | - Video akışı göndermeye başlamak için True kamera cihazının zaman aşımına uğradıklarına ayarlayın. - Seçili kamera cihazının False yeniden yerel video gönderdiğinde olarak ayarlayın. |
Kamera hataları | değeri olarak True ayarlandığında, son kullanıcıya kameralarında sorun olabileceğini belirten görsel bir bildirim verin. (Değer bildirimi kaldırmak için False geri ayarlandığında). |
cameraPermissionDenied | ayarlarda Kamera izinleri reddedildi. | - Sistem ayarlarından (video) kamera izninin ne zaman reddedildiğinde olarak ayarlayın True . - Başarılı akış alımında olarak False ayarlayın. Not: Bu tanılama yalnızca macOS Chrome'da çalışır. |
Kamera izinleri ayarlarda devre dışı bırakılır. | değeri olarak True ayarlandığında, son kullanıcıya bir Azure İletişim Hizmetleri çağrısı için kamera kullanma iznini etkinleştirmediğini belirten görsel bildirim verin. |
cameraStoppedUnexpectedly | Kamera arızası | - Kamera beklenmedik bir şekilde durduruldu durumuna girdiğinde olarak ayarlayın True . - Kamera yeniden başarılı bir şekilde video akışı göndermeye başladığında olarak ayarlayın False . |
Kameranın düzgün çalıştığını denetleyin. | değeri olarak True ayarlandığında, son kullanıcıya kameralarında sorun olabileceğini belirten görsel bir bildirim verin. (Değer bildirimi kaldırmak için False geri ayarlandığında). |
Yalnızca yerel
Veri Akışı Adı | Açıklama | Olası değerler | Kullanım örnekleri | Düzeltme Adımları |
---|---|---|---|---|
speakerVolumeIsZero | Cihazda (hoparlör) sıfır ses düzeyi. | - Hoparlör sesi sıfır olduğunda olarak ayarlayın True . - Hoparlör ses düzeyi sıfır olmadığında olarak ayarlayın False . |
Arama sırasında katılımcılardan ses alınmıyor. | Değer olarak True ayarlandığında, birimi yanlışlıkla en düşükte (sıfır) yapmış olabilirsiniz. |
speakerMuted | Hoparlör cihazının sesi kapatıldı. | - Hoparlör cihazının sesi kapatıldığında olarak ayarlayın True . - Hoparlör cihazının sesi kapatıldığında olarak ayarlayın False . |
Arama sırasında katılımcılardan ses alınmıyor. | Değer olarak True ayarlandığında, hoparlörün sesini yanlışlıkla kapatmış olabilirsiniz. |
speakerBusy | Hoparlör zaten kullanımda. Cihaz özel kullanım modunda kullanılıyor veya cihaz paylaşılan modda kullanılıyor ve arayan kişi cihazı özel kullanım modunda kullanmak istedi. | - Hoparlör cihazı akışı alma zaman aşımına uğradı (ses) olarak ayarlayın True . - Konuşmacı alımının başarılı olduğu zaman olarak False ayarlayın. |
Konuşmacı aracılığıyla arama sırasında katılımcılardan ses duyamayın. | değeri olarak True ayarlandığında, son kullanıcıya görsel bildirim verin, böylece başka bir uygulamanın hoparlörü kullanıp kullanmadığından ve kapatmayı deneyebileceğinden. |
speakerNotFunctioning | Hoparlör çalışmıyor (ses cihazı istemcisi başlatılamadı veya cihaz 5 saniyeden uzun süre etkin değil oldu) | - Hoparlör kullanılamadığında olarak ayarlayın True veya cihaz akışı alma zaman aşımına uğradı (ses). - Konuşmacı alımının başarılı olduğu zaman olarak False ayarlayın. |
Konuşmacı aracılığıyla arama sırasında katılımcılardan ses duyamayın. | Hoparlör cihazının durumunu denetlemeyi deneyin. |
microphoneBusy | Mikrofon zaten kullanımda. Cihaz özel kullanım modunda kullanılıyor veya cihaz paylaşılan modda kullanılıyor ve arayan kişi cihazı özel kullanım modunda kullanmak istedi. | - Mikrofon cihazı akışı alma zaman aşımına uğradı (ses) olarak ayarlayın True . - Mikrofon alımı başarılı olduğunda olarak False ayarlayın. |
Sesiniz aramadaki diğer katılımcılara ulaşmıyor. | Değer olarak True ayarlandığında, mikrofonu başka bir uygulamanın kullanıp kullanmadiğini denetleyebilmesi ve kapatmayı deneyebilmesi için son kullanıcıya görsel bildirim verin. |
Tanılamaya erişme
Kullanıcıya yönelik tanılama, çekirdek Call
API'nin genişletilmiş bir özelliğidir ve etkin bir çağrıyı tanılamanıza olanak tanır.
this.diagnosticsCallFeature = call.Features.LocalUserDiagnostics;
Kullanıcıya Yönelik Tanılama olayları
- Tanılama olayları için dinleyicileri uygulayın.
private async void Call__OnNetworkUnavailableChanged(object sender, FlagDiagnosticChangedEventArgs args)
{
var value = args.Value;
// Handle the diagnostic event value changed...
}
// Listen to other network diagnostics
private async void Call__OnMediaSpeakerNotFunctioningChanged(object sender, FlagDiagnosticChangedEventArgs args)
{
var value = args.Value;
// Handle the diagnostic event value changed...
}
// Listen to other media diagnostics
- Olayları dinlemek için olay yöntemlerini ayarlayın.
this.diagnosticsCallFeature = call.Features.LocalUserDiagnostics;
this.networkDiagnostics = diagnosticsCallFeature.Network;
this.mediaDiagnostics = diagnosticsCallFeature.Media;
this.networkDiagnostics.NetworkUnavailableChanged += Call__OnNetworkUnavailableChanged;
// Listen to other network events as well ...
this.mediaDiagnostics.SpeakerNotFunctioningChanged += Call__OnMediaSpeakerNotFunctioningChanged;
// Listen to other media events as well ...
// Removing listeners
this.networkDiagnostics.NetworkUnavailable -= Call__NetworkUnavailableChanged;
// Remove the other listeners as well ...
this.mediaDiagnostics.SpeakerNotFunctioningChanged -= Call__OnMediaSpeakerNotFunctioningChanged;
// Remove the other listeners as well ...
Kullanıcıya Yönelik En Son Tanılamaları Alma
- Geçerli çağrıda ortaya çıkarılmış en son tanılama değerlerini alın. Tanılama
null
için hala bir değer almadıysak veya.unknown
için döndürülürse.
this.diagnosticsCallFeature = call.Features.LocalUserDiagnostics;
this.networkDiagnostics = diagnosticsCallFeature.Network;
this.mediaDiagnostics = diagnosticsCallFeature.Media;
bool? lastSpeakerNotFunctionValue = this.mediaDiagnostics.GetLatestDiagnostics().IsSpeakerNotFunctioning; // Boolean?
bool? lastNetworkRelayNotReachableValue = this.networkDiagnostics.GetLatestDiagnostics().IsNetworkRelaysUnreachable; // Boolean?
DiagnosticQuality lastReceiveQualityValue = this.networkDiagnostics.GetLatestDiagnostics().NetworkReceiveQuality; // DiagnosticQuality (.good, .poor, .bad)
// or .unknown if there isn't a diagnostic for this.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin