首页 > 解决方案 > 在结果视图中选择卡片后开始播放音频

问题描述

我正在尝试从用户从包含多张卡片的结果视图中选择的卡片中获取数据(概念),而不是在更详细的视图中显示该卡片中的信息,我正在尝试使用概念的属性卡片显示,即:歌曲作者、标题...并将其转换为 audioPlayer.AudioInfo 概念并开始播放音频。

我熟悉音频演示胶囊如何播放音频,首先构建 audioPlayer.AudioInfo,然后以相同的操作传递给音频播放器:https ://github.com/bixbydevelopers/capsule-samples-collection/tree /主/音频

action (PlaySessionOfDay) {
  type (Search)
  collect {
    computed-input (sessionToPlay) {
      description (Fetch the sessions to be played)
      type (audioPlayer.AudioInfo)
      min (Required) max (One)
      compute {
        intent {
          goal: BuildSessionOfDayAudioInfo
        }
      }
      hidden
    }

    computed-input (session) {
      description (By passing in the AudioInfo object to the PlayAudio action, we ask the client to play our sound.)
      type (audioPlayer.Result)
      compute {
        intent {
          goal: audioPlayer.PlayAudio
          value: $expr(sessionToPlay)
        }
      }
      hidden
    }
  }
  output (Result)
}

如何使用从卡片列表中选择的歌曲卡片作为 PlaySessionOfDay 操作的输入,然后将其传递给 BuildSessionOfDayAudioInfo 等操作,以创建 audioPlayer.AudioInfo。

看起来你不能有计算块

compute {
        intent {
          goal: BuildSessionOfDayAudioInfo
        }
      }

除非您使用计算输入 (sessionToPlay)。

编辑:我认为有些麻烦是因为默认情况下,在(歌曲)列表视图中单击的卡片会调用详细信息视图。有什么方法可以避免这种情况并将所选数据用作操作的输入?

标签: bixby

解决方案


有什么方法可以避免这种情况并将所选数据用作操作的输入?
是的,在你的视图模型中设置 has-details (false),在这里阅读更多

您需要使用PlaySessionOfDay
添加点击 您还需要实现PlaySessionOfDay以便它可以接受输入(我假设您有多个内容要播放)


推荐阅读