Communication application c# Lync SDK
Bonjour,
Je voudrais dévelloper une application windows qui lance un appel sur la plateforme Lync et agit en fonction des messages reçu dans le chat.
La partie appel et envoi de IM (instant message) ne posent pas de problème, par contre impossible de recevoir le moindre message (l'évenement ne s'active pas) et donc impossible de l'interpreter.
J'ai pourtant simplement copier coller l'example de MSDN...
Quelqu'un pour m'aider ? :D
D'avance merci !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
public class AppelLync
{
public static Conversation _Conversation;
public static LyncClient _LyncClient;
public Contact _Contact;
//self participant's AvModality
private AVModality avModality;
//self participant's channels
private VideoChannel videoChannel;
public AppelLync(string contact)
{
bool Sortir = false;
_LyncClient = LyncClient.GetClient(); //Utilise l'user connecté sur l'ordinateur
_Conversation = _LyncClient.ConversationManager.AddConversation(); // Crée la conversation
_Contact = _LyncClient.ContactManager.GetContactByUri(contact); // Crée le contact
_Conversation.AddParticipant(_Contact); //Ajoute le contact à la conversation
avModality = (AVModality)_Conversation.Modalities[ModalityTypes.AudioVideo];
videoChannel = avModality.VideoChannel;
videoChannel.BeginStart(null, null); //Démare la conversation audio et vidéo. Elle ne s'arrêtera que lorsque le contact racrochera.
((InstantMessageModality)_Conversation.Modalities[ModalityTypes.InstantMessage]).BeginSendMessage("Tapé V pour faire quelquechose", null, null);
if (_Conversation.Modalities.ContainsKey(ModalityTypes.InstantMessage))
{
((InstantMessageModality)_Conversation.Modalities[ModalityTypes.InstantMessage]).InstantMessageReceived += myInstantMessageModality_MessageReceived;
}
}
void myInstantMessageModality_MessageReceived(Object source, MessageSentEventArgs data)
{
IDictionary<InstantMessageContentType, string> messageFormatProperty = data.Contents;
if (messageFormatProperty.ContainsKey(InstantMessageContentType.PlainText))
{
string outVal = string.Empty;
string Sender = (string)((InstantMessageModality)source).Participant.Contact.GetContactInformation(ContactInformationType.DisplayName);
if (messageFormatProperty.TryGetValue(InstantMessageContentType.PlainText, out outVal))
{
//outVal will be an empty string if the received message contains only an image.
Faire quelque chose
//invoke delegate that sets text property of a form browser control with outVal
}
}
}
} |