Поддержка звука из результата

#bixby

#биксби

Вопрос:

Как я могу выполнить вычисляемый ввод из ответа javascript? Так что, просто выберите ОДИН звук из ответа??? Я не хочу, чтобы пользователь выбирал некоторые — он скажет воспроизвести звук — я получаю звуки с помощью вызова API, и они начинают воспроизводиться

Например, у меня есть функция javascript:

 module.exports.function = function CommandContext(userInput, $vivContext){
  return {
    audioInfo: {
        category: 'SINGLE',
        displayName: res.audio.name,
        repeatMode: 'ALL',
        doNotWaitForTTS: true,
        audioItem: [{...}]
    }
  };
}
 

Модель действия:

 action  (CommandContext) {
  description ('Context')
  type(Search)
  collect {
    input (userInput) {
      type (commandUser)
    }
    computed-input (sound) {
      type (audioPlayer.Result)
      compute {
        intent {
          goal: audioPlayer.PlayAudio
          value: CommandResult.audioInfo
        }
      }
      hidden
     }    
  }
  output (CommandResult)
} 

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

1. Можете ли вы уточнить некоторые детали в фактическом высказывании? Например, произнесение «play Beatles» приведет к поиску и списку песен, возвращаемых API, обычно это будет последующее диалоговое окно: «Я нашел эти песни Beatles на XYZ, какую из них вы хотите сыграть?» И это единственный выбор мощности. Так ли это?

2. Я просто уже возвращаю какой-то ОДИН результат из API на стороне API, я принимаю решение, что искать — так что вы можете сказать «play bwah», но я верну какое-то значение по умолчанию! Мне не нужно выбирать из user 🙂

3. 1. Хорошо, так кажется по демонстрации github.com/bixbydevelopers/capsule-samples-collection/tree/… Я могу позвонить, чтобы получить некоторый список аудиозаписей с одним или несколькими аудиозаписями по какой-либо фразе, такой как «play bethoven», и обученная модель НЕ может уловить какое-либо значение в NL с помощью ввода этой схемы — потому что его вход audioInfo? Значит, у меня есть только возможность использовать некоторые статические действия в зависимости от каждого звукового имени? 2. Также, если я верну это audioInfo — result_view вообще не работает? 3. Как я могу проверить с помощью emu или реального устройства, работает ли это?

4. пожалуйста, смотрите Обновленный ответ ниже

5. Хорошо, я попробовал result_view с вашей демонстрацией и создал новые дополнительные файлы для просмотра — pastebin.com/abVvYaGT Он не показывает вид, просто кажется аудио (у меня еще нет устройства) — pasteboard.co/IbKtH0e.png Не могли бы вы проверить, пожалуйста?

Ответ №1:

Рад слышать, что вы решили проблему на стороне API.

Вот некоторая дополнительная информация, которая может быть полезна:

  • Bixby также может «принимать решение за пользователя», default-select хотя оно должно быть или select-first или select-min , вы можете прочитать больше здесь.
  • Если в будущем вам потребуется реализовать выбор пользователя или какое-либо интерактивное действие с пользователем после поиска, вы можете попробовать followup или conversation-divers дочерний ключ внутри result-view . Проверьте нашу справочную страницу здесь.

Дайте нам знать, если это поможет, и получайте удовольствие от Bixby!

Вот ответы на дополнительный вопрос в комментариях:

  1. Эта демонстрация предназначена только для воспроизведения Мяу, как вы можете видеть в файле JS. Цель демонстрации — показать, как использовать библиотеку bixby.AudioPlayer. В реальной капсуле вы должны иметь возможность находить аудиофайлы с помощью вызовов API в соответствии с вводом NL пользователем и превращать это в правильную структуру audioInfo.
  2. представление результатов должно работать, потому что все еще в Биксби.
  3. Вы определенно можете протестировать на устройстве после личных сообщений.
  4. Поскольку функция AudioPlayer в настоящее время не поддерживается в симуляторе, выполнение высказывания в симуляторе приведет к появлению «ожидающего ввода» в окне отладки. Сейчас команда рассматривает возможность добавления функции AudioPlayer в предстоящие версии.
  5. Таким образом, чтобы протестировать example.meow, вам нужно выполнить приватную отправку, а затем загрузить на устройство. Вам также необходимо изменить имя капсулы, поскольку оно может не разрешить example пространство имен при частной отправке.

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

1. Я протестировал через emu и ввел сообщение «Мяу» — получил просто пустой экран и без звука. Как я могу увидеть где-нибудь в журналах, что происходит? кроме того, почему не работает double from-ouput? совпадение: CommandResult (commandResult) { из-output: CommandContext из-output: PlayContext }

2. Да, вы правы, на симуляторе Meow не выдает звук, это должно быть на тестировании устройства, поскольку аудиопроигрыватель не включен в симулятор. Пожалуйста, сделайте следующее: 1. Сделайте приватную отправку загруженного примера.meow capsule. 2. Загрузите отправку на устройство с поддержкой Bixby, такое как телефон S9. 3. Выполните тестирование устройства на высказывании. К сожалению, нет простого способа протестировать функцию AudioPlayer, кроме как загрузить в устройство. Я добавлю некоторую ссылку в ответ.