找不到 Skype web sdk 音频服务插件

Skype web sdk audio service plugin not found

我正在我的 IONIC 应用程序中集成 Skype Web SDK 音频服务。一切正常,但我无法拨打电话。当我单击按钮拨打电话时,以下代码被调用,我听到哔声,然后出现有关 Pluginnotinstalled 的错误。

var conversation = application.conversationsManager.getConversation('tel:+XXXX');
conversation.selfParticipant.audio.state.when('Connected', function () {
    console.log('Connected to audio call');
});
conversation.state.changed(function (newValue, reason, oldValue) {
    console.log('Conversation state changed from', oldValue, 'to', newValue);
});
conversation.participants.added(function (participant) {
    console.log('Participant:', participant.displayName(), 'has been added to the conversation');
});
conversation.audioService.start().then(function() {
    console.log('The call has been started successfully');
}, function (error) {
    console.log('An error occured starting the call', error);
});

当我 运行 此代码时,出现错误,未安装插件。没有关于他们想要什么插件的描述。

An error occured starting the call
Error: PluginNotInstalled
Exception — skype-web-sdk.js:20782
(anonymous function) — skype-web-sdk.js:35814
exec2 — skype-web-sdk.js:21498
exec — skype-web-sdk.js:21478
dequeue — skype-web-sdk.js:21253
process — skype-web-sdk.js:21274

当我详细检查时,错误来自 skype-web-sdk.js

的以下代码
function init(specs) {
    tm && tm.record(Web.TelemetryEvent.PluginManager, {
        action: 'init',
        state: state()
    });
    if (state() == Media.PluginManager.State.Uninitialized) {
        var id = '__mainPluginManager_' + guid().replace(/-/g, '_');
        Media.log('PluginManager::init - id = ' + id);
        language = (specs && specs.language) || "en-us";
        isRtl = (specs && specs.rtl) || false;
        var PluginObjectCtor_1 = (specs && specs.PluginObject) || Media.PluginObject;
        tm = specs && specs.tm;
        assert(!task || task.state() != 'pending');
        task = new Task('Loading the media plugin.', {
            cancel: function (reason) {
                Media.log('PluginManager::init canceled ' + id);
                stopLoadTimer();
                reset(reason);
                task.reject(reason);
            }
        });
        tm && tm.monitor(task.promise, Web.TelemetryEvent.PluginManager, {
            action: 'initPluginMgr',
            state: state(),
            id: id
        });
        state.set(Media.PluginManager.State.Initializing);
        isPluginInstalled.get().then(function (installed) {
            if (!installed)
                throw Exception('PluginNotInstalled');
            pluginObj = PluginObjectCtor_1({
                id: id,
                managerId: '_'
            });
            pluginObj.event(onPluginObjectEvent, 'async');
            pluginObj.state.changed(onPluginObjectState);
            Media.watch('pluginObject(' + id + ')::state', state);
            Media.log('PluginManager::init - creating inner object');
            try {
                pluginObj.createInnerObject({
                    hide: true,
                    hookEvents: true
                });
            }
            catch (err) {
                state.set(Media.PluginManager.State.Uninitialized);
                if (task.state() == 'pending')
                    task.reject(err);
            }
        }).catch(function (err) {
            state.set(Media.PluginManager.State.Uninitialized);
            if (task.state() == 'pending')
                task.reject(err);
        });
    }
    else {
        // init has already been called and the plugin is either 
        // initializing or is already initialized; in either case
        // we will return an existing promise
        assert(task);
    }
    return task.promise;
}

您使用的是哪个浏览器? IE11 和 Safari 都需要 Skype for Business Web App 插件,可以在这里找到:Getting started with Skype Web SDK development

Here您可以找到有关如何检查插件是否已安装的更多信息。