ВЕБ-приемник CAF — не слышит голос помощника из Nest HUB

#google-assistant-sdk #caf #caf-receiver-sdk

#google-assistant-sdk #caf #caf-приемник-sdk

Вопрос:

Я разрабатываю веб-приемник CAF, но я не слышу голос помощника Google на Nest HUB, когда в setMessageInterceptor возникает ошибка для типа «LOAD», вместо этого он работает для типа «SEEK».

Это код для ПОИСКА:

 playerManager.setMessageInterceptor(
    cast.framework.messages.MessageType.SEEK, seekData => {
        let e = new cast.framework.messages.ErrorData(cast.framework.messages.ErrorType
            .LOAD_CANCELLED);
        e.reason = cast.framework.messages.ErrorReason.PARENTAL_CONTROL_RESTRICTED;
        return e;
    });
 

и это для ЗАГРУЗКИ:

 playerManager.setMessageInterceptor(
    cast.framework.messages.MessageType.LOAD, loadRequestData => {
        let e = new cast.framework.messages.ErrorData(cast.framework.messages.ErrorType
            .LOAD_CANCELLED);
        e.reason = cast.framework.messages.ErrorReason.PARENTAL_CONTROL_RESTRICTED;
        return e;
    });
 

Очевидно, что реальный случай «ЗАГРУЗКИ» более сложный, но также, если я использую код Google здесь (https://developers.google.com/cast/docs/web_receiver/core_features#error_handling ) Я не слышу никакого голоса.
Я использую инструмент CaC https://casttool.appspot.com/cactool/index.html для потока сущностей.

 playerManager.setMessageInterceptor(
    cast.framework.messages.MessageType.LOAD, loadRequestData => {
        
        const error = new cast.framework.messages.ErrorData(cast.framework.messages.ErrorType.LOAD_CANCELLED);
        
        loadRequestData.media = null; // trying to force error

        if (!loadRequestData || !loadRequestData.media) {
            error.reason = cast.framework.messages.ErrorReason.INVALID_PARAM;
            return error;
        } 
        
        ...
        
        return loadRequestData;
    });
 

Комментарии:

1. Есть ли ожидание, что вы услышите голос?

2. Да, это так. Потому что, если я смотрю сериал и мне нужно купить следующий эпизод, я хочу, чтобы голос Google Assistant сказал «вам нужно купить контент». То же самое, если в следующем эпизоде уровень родительского контроля выше, чем у пользователя.

3. Я понимаю. Возможно ли было бы, чтобы вы реализовали это на своей собственной стороне?

4. Это было бы замечательно, у вас есть руководство или пример для этого? Спасибо

5. Я не совсем уверен, есть ли руководство, но я считаю, что вы должны иметь возможность использовать web speech API для генерации речи непосредственно через среду выполнения Cast.