Не найден плагин аудиосервиса Skype для Интернета. - PullRequest
0 голосов
/ 23 мая 2018

Я интегрирую аудио сервис Skype Web SDK в свое приложение IONIC.Все работает нормально, но я не могу позвонить.Когда я нажимаю на кнопку, чтобы сделать вызов, следующий код получает вызов, и я получаю звуковой сигнал, а затем появляется ошибка о подключаемом модуле.

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;
}

1 Ответ

0 голосов
/ 23 мая 2018

Какой браузер вы используете?Для IE11 и Safari требуется подключаемый модуль Skype для бизнеса, который можно найти здесь: Начало работы с разработкой Skype Web SDK

Здесь Более подробную информацию можно найти накак проверить, установлен ли плагин.

...