在结果视图中选择卡片后开始播放音频

Start playing the audio after selecting card in results view

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

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

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

除非您正在使用 computed-input (sessionToPlay)。

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

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

您需要添加点击 PlaySessionOfDay
您还需要实施 PlaySessionOfDay 以便它可以接受输入(我假设您有多个内容要播放)[​​=11=]