C# Skype API 视频通话

Posted

技术标签:

【中文标题】C# Skype API 视频通话【英文标题】:C# Skype API Video Call 【发布时间】:2012-01-30 15:48:57 【问题描述】:

我正在开发一个安全监控应用程序,我发现最好的方法是 Skype。

当发生可能的入侵时,应用程序会调用指定的 Skype ID,这可能是我的 android 手机,我已完成所有图像处理工作。但我被这个 Skype API 卡住了,我写了这段代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SKYPE4COMLib;


namespace SkypeCall

    class Program
    
        static void Main(string[] args)
        
            Skype skype;
            skype = new Skype("Skype4COM.Skype", "Skype_");

            Call call = skype.PlaceCall(SkypeID);
            call.StartVideoSend();
        
    

这会发起语音通话,但在 call.StartVideoSend();显示错误

 An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in SkypeCall.exe

Additional information:  CALL: Action failed

我什至尝试过this,但我猜那是旧 API,无法从中得到任何东西。 甚至发送commands 也不行。

如果有人能帮助我,我将不胜感激。

【问题讨论】:

【参考方案1】:

我认为您需要等到通话接通。

最简单的方法是测试 call.Status

class Program
    
        static void Main(string[] args)
        
            Skype skype;
            skype = new SKYPE4COMLib.Skype();
            string SkypeID = args[1];
            Call call = skype.PlaceCall(SkypeID);
            do
            
                System.Threading.Thread.Sleep(1);
             while (call.Status != TCallStatus.clsInProgress);
            call.StartVideoSend();
        
    

你也可以添加一个事件,但是我认为这会在每次调用时触发,所以除非你只将它用于这个项目,否则它可能太多了。

class Program
    
        static string SkypeID = "";
        static void Main(string[] args)
        
            Skype skype;
            skype = new SKYPE4COMLib.Skype();
            skype.CallStatus += new _ISkypeEvents_CallStatusEventHandler(skype_CallStatus);
            Call call = skype.PlaceCall(SkypeID);

            Console.ReadKey();
        

        static void skype_CallStatus(Call pCall, TCallStatus Status)
        
            if (Status == TCallStatus.clsInProgress && pCall.PartnerHandle == SkypeID)  pCall.StartVideoSend(); 
        
    

【讨论】:

以上是关于C# Skype API 视频通话的主要内容,如果未能解决你的问题,请参考以下文章

移动端视频通话软件----sip----开源软件----阿冬专栏

如何从 Delphi Android 应用程序开始视频通话?

使用 webrtc 的客户服务视频通话服务

vue视频通话(Agora声网)

如何从Delphi Android应用程序启动视频通话?

如何将移动发起的视频通话与基于 Web 的 [node.js] 视频通话集成?