# frozen_string_literal: true
# Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
module TencentCloud
module Yinsuda
module V20220527
# BatchDescribeKTVMusicDetails请求参数结构体
class BatchDescribeKTVMusicDetailsRequest < TencentCloud::Common::AbstractModel
# @param AppName: 应用名称。
# @type AppName: String
# @param UserId: 用户标识。
# @type UserId: String
# @param MusicIds: 歌曲 Id 列表。
# @type MusicIds: Array
attr_accessor :AppName, :UserId, :MusicIds
def initialize(appname=nil, userid=nil, musicids=nil)
@AppName = appname
@UserId = userid
@MusicIds = musicids
end
def deserialize(params)
@AppName = params['AppName']
@UserId = params['UserId']
@MusicIds = params['MusicIds']
end
end
# BatchDescribeKTVMusicDetails返回参数结构体
class BatchDescribeKTVMusicDetailsResponse < TencentCloud::Common::AbstractModel
# @param KTVMusicDetailInfoSet: 歌曲详细信息列表。
# @type KTVMusicDetailInfoSet: Array
# @param NotExistMusicIdSet: 不存在歌曲Id列表。
# @type NotExistMusicIdSet: Array
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :KTVMusicDetailInfoSet, :NotExistMusicIdSet, :RequestId
def initialize(ktvmusicdetailinfoset=nil, notexistmusicidset=nil, requestid=nil)
@KTVMusicDetailInfoSet = ktvmusicdetailinfoset
@NotExistMusicIdSet = notexistmusicidset
@RequestId = requestid
end
def deserialize(params)
unless params['KTVMusicDetailInfoSet'].nil?
@KTVMusicDetailInfoSet = []
params['KTVMusicDetailInfoSet'].each do |i|
ktvmusicdetailinfo_tmp = KTVMusicDetailInfo.new
ktvmusicdetailinfo_tmp.deserialize(i)
@KTVMusicDetailInfoSet << ktvmusicdetailinfo_tmp
end
end
@NotExistMusicIdSet = params['NotExistMusicIdSet']
@RequestId = params['RequestId']
end
end
# 副歌片段信息。
class ChorusClip < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间,单位:毫秒。
# @type StartTime: Integer
# @param EndTime: 结束时间,单位:毫秒。
# @type EndTime: Integer
attr_accessor :StartTime, :EndTime
def initialize(starttime=nil, endtime=nil)
@StartTime = starttime
@EndTime = endtime
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
end
end
# DescribeKTVPlaylistDetail请求参数结构体
class DescribeKTVPlaylistDetailRequest < TencentCloud::Common::AbstractModel
# @param AppName: 应用名称。
# @type AppName: String
# @param UserId: 用户标识。
# @type UserId: String
# @param PlaylistId: 歌单 Id。
# @type PlaylistId: String
# @param ScrollToken: 滚动标记。
# @type ScrollToken: String
# @param Limit: 返回条数,默认:20,最大:50。
# @type Limit: Integer
# @param RightFilters: 权益过滤,取值有:
#
Play:可播;
# Sing:可唱。
# @type RightFilters: Array
attr_accessor :AppName, :UserId, :PlaylistId, :ScrollToken, :Limit, :RightFilters
def initialize(appname=nil, userid=nil, playlistid=nil, scrolltoken=nil, limit=nil, rightfilters=nil)
@AppName = appname
@UserId = userid
@PlaylistId = playlistid
@ScrollToken = scrolltoken
@Limit = limit
@RightFilters = rightfilters
end
def deserialize(params)
@AppName = params['AppName']
@UserId = params['UserId']
@PlaylistId = params['PlaylistId']
@ScrollToken = params['ScrollToken']
@Limit = params['Limit']
@RightFilters = params['RightFilters']
end
end
# DescribeKTVPlaylistDetail返回参数结构体
class DescribeKTVPlaylistDetailResponse < TencentCloud::Common::AbstractModel
# @param KTVMusicInfoSet: 歌曲信息列表。
# @type KTVMusicInfoSet: Array
# @param ScrollToken: 滚动标记,用于设置下次请求的 ScrollToken 参数。
# @type ScrollToken: String
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :KTVMusicInfoSet, :ScrollToken, :RequestId
def initialize(ktvmusicinfoset=nil, scrolltoken=nil, requestid=nil)
@KTVMusicInfoSet = ktvmusicinfoset
@ScrollToken = scrolltoken
@RequestId = requestid
end
def deserialize(params)
unless params['KTVMusicInfoSet'].nil?
@KTVMusicInfoSet = []
params['KTVMusicInfoSet'].each do |i|
ktvmusicbaseinfo_tmp = KTVMusicBaseInfo.new
ktvmusicbaseinfo_tmp.deserialize(i)
@KTVMusicInfoSet << ktvmusicbaseinfo_tmp
end
end
@ScrollToken = params['ScrollToken']
@RequestId = params['RequestId']
end
end
# DescribeKTVPlaylists请求参数结构体
class DescribeKTVPlaylistsRequest < TencentCloud::Common::AbstractModel
# @param AppName: 应用名称。
# @type AppName: String
# @param UserId: 用户标识。
# @type UserId: String
attr_accessor :AppName, :UserId
def initialize(appname=nil, userid=nil)
@AppName = appname
@UserId = userid
end
def deserialize(params)
@AppName = params['AppName']
@UserId = params['UserId']
end
end
# DescribeKTVPlaylists返回参数结构体
class DescribeKTVPlaylistsResponse < TencentCloud::Common::AbstractModel
# @param PlaylistBaseInfoSet: 歌单基础信息。
# @type PlaylistBaseInfoSet: Array
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :PlaylistBaseInfoSet, :RequestId
def initialize(playlistbaseinfoset=nil, requestid=nil)
@PlaylistBaseInfoSet = playlistbaseinfoset
@RequestId = requestid
end
def deserialize(params)
unless params['PlaylistBaseInfoSet'].nil?
@PlaylistBaseInfoSet = []
params['PlaylistBaseInfoSet'].each do |i|
ktvplaylistbaseinfo_tmp = KTVPlaylistBaseInfo.new
ktvplaylistbaseinfo_tmp.deserialize(i)
@PlaylistBaseInfoSet << ktvplaylistbaseinfo_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeKTVSuggestions请求参数结构体
class DescribeKTVSuggestionsRequest < TencentCloud::Common::AbstractModel
# @param AppName: 应用名称。
# @type AppName: String
# @param UserId: 用户标识。
# @type UserId: String
# @param KeyWord: 搜索词。
# @type KeyWord: String
attr_accessor :AppName, :UserId, :KeyWord
def initialize(appname=nil, userid=nil, keyword=nil)
@AppName = appname
@UserId = userid
@KeyWord = keyword
end
def deserialize(params)
@AppName = params['AppName']
@UserId = params['UserId']
@KeyWord = params['KeyWord']
end
end
# DescribeKTVSuggestions返回参数结构体
class DescribeKTVSuggestionsResponse < TencentCloud::Common::AbstractModel
# @param KTVSuggestionInfoSet: 联想词信息列表。
# @type KTVSuggestionInfoSet: Array
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :KTVSuggestionInfoSet, :RequestId
def initialize(ktvsuggestioninfoset=nil, requestid=nil)
@KTVSuggestionInfoSet = ktvsuggestioninfoset
@RequestId = requestid
end
def deserialize(params)
unless params['KTVSuggestionInfoSet'].nil?
@KTVSuggestionInfoSet = []
params['KTVSuggestionInfoSet'].each do |i|
ktvsuggestioninfo_tmp = KTVSuggestionInfo.new
ktvsuggestioninfo_tmp.deserialize(i)
@KTVSuggestionInfoSet << ktvsuggestioninfo_tmp
end
end
@RequestId = params['RequestId']
end
end
# 歌曲基础信息。
class KTVMusicBaseInfo < TencentCloud::Common::AbstractModel
# @param MusicId: 歌曲Id。
# @type MusicId: String
# @param Name: 歌曲名称。
# @type Name: String
# @param SingerSet: 歌手名称。
# @type SingerSet: Array
# @param Duration: 播放时长。
# @type Duration: Integer
# @param SingerImageUrl: 歌手图片链接。
# @type SingerImageUrl: String
# @param AlbumInfo: 专辑信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AlbumInfo: :class:`Tencentcloud::Yinsuda.v20220527.models.MusicAlbumInfo`
# @param RightSet: 权益列表,取值有:
# Play:可播;
# Sing:可唱。
# @type RightSet: Array
attr_accessor :MusicId, :Name, :SingerSet, :Duration, :SingerImageUrl, :AlbumInfo, :RightSet
def initialize(musicid=nil, name=nil, singerset=nil, duration=nil, singerimageurl=nil, albuminfo=nil, rightset=nil)
@MusicId = musicid
@Name = name
@SingerSet = singerset
@Duration = duration
@SingerImageUrl = singerimageurl
@AlbumInfo = albuminfo
@RightSet = rightset
end
def deserialize(params)
@MusicId = params['MusicId']
@Name = params['Name']
@SingerSet = params['SingerSet']
@Duration = params['Duration']
@SingerImageUrl = params['SingerImageUrl']
unless params['AlbumInfo'].nil?
@AlbumInfo = MusicAlbumInfo.new
@AlbumInfo.deserialize(params['AlbumInfo'])
end
@RightSet = params['RightSet']
end
end
# 歌曲详细信息。
class KTVMusicDetailInfo < TencentCloud::Common::AbstractModel
# @param KTVMusicBaseInfo: 歌曲基础信息。
# @type KTVMusicBaseInfo: :class:`Tencentcloud::Yinsuda.v20220527.models.KTVMusicBaseInfo`
# @param PlayToken: 播放凭证。
# @type PlayToken: String
# @param LyricsUrl: 歌词下载链接。
# @type LyricsUrl: String
# @param MidiUrl: 音高数据下载链接。
# @type MidiUrl: String
# @param ChorusClipSet: 副歌片段信息。
# @type ChorusClipSet: Array
attr_accessor :KTVMusicBaseInfo, :PlayToken, :LyricsUrl, :MidiUrl, :ChorusClipSet
def initialize(ktvmusicbaseinfo=nil, playtoken=nil, lyricsurl=nil, midiurl=nil, chorusclipset=nil)
@KTVMusicBaseInfo = ktvmusicbaseinfo
@PlayToken = playtoken
@LyricsUrl = lyricsurl
@MidiUrl = midiurl
@ChorusClipSet = chorusclipset
end
def deserialize(params)
unless params['KTVMusicBaseInfo'].nil?
@KTVMusicBaseInfo = KTVMusicBaseInfo.new
@KTVMusicBaseInfo.deserialize(params['KTVMusicBaseInfo'])
end
@PlayToken = params['PlayToken']
@LyricsUrl = params['LyricsUrl']
@MidiUrl = params['MidiUrl']
unless params['ChorusClipSet'].nil?
@ChorusClipSet = []
params['ChorusClipSet'].each do |i|
chorusclip_tmp = ChorusClip.new
chorusclip_tmp.deserialize(i)
@ChorusClipSet << chorusclip_tmp
end
end
end
end
# 歌单基础信息。
class KTVPlaylistBaseInfo < TencentCloud::Common::AbstractModel
# @param PlaylistId: 歌单Id。
# @type PlaylistId: String
# @param Title: 歌单标题。
# @type Title: String
attr_accessor :PlaylistId, :Title
def initialize(playlistid=nil, title=nil)
@PlaylistId = playlistid
@Title = title
end
def deserialize(params)
@PlaylistId = params['PlaylistId']
@Title = params['Title']
end
end
# 联想词信息。
class KTVSuggestionInfo < TencentCloud::Common::AbstractModel
# @param Suggestion: 联想词。
# @type Suggestion: String
attr_accessor :Suggestion
def initialize(suggestion=nil)
@Suggestion = suggestion
end
def deserialize(params)
@Suggestion = params['Suggestion']
end
end
# 歌曲专辑封面信息。
class MusicAlbumCoverInfo < TencentCloud::Common::AbstractModel
# @param Dimension: 尺寸规格,取值有:
# Mini:150 x 150 尺寸;
# Small:240 x 240 尺寸;
# Medium:480 x 480 尺寸。
# @type Dimension: String
# @param Url: 下载链接。
# @type Url: String
attr_accessor :Dimension, :Url
def initialize(dimension=nil, url=nil)
@Dimension = dimension
@Url = url
end
def deserialize(params)
@Dimension = params['Dimension']
@Url = params['Url']
end
end
# 歌曲专辑信息。
class MusicAlbumInfo < TencentCloud::Common::AbstractModel
# @param Name: 专辑名称。
# @type Name: String
# @param CoverInfoSet: 封面列表。
# @type CoverInfoSet: Array
attr_accessor :Name, :CoverInfoSet
def initialize(name=nil, coverinfoset=nil)
@Name = name
@CoverInfoSet = coverinfoset
end
def deserialize(params)
@Name = params['Name']
unless params['CoverInfoSet'].nil?
@CoverInfoSet = []
params['CoverInfoSet'].each do |i|
musicalbumcoverinfo_tmp = MusicAlbumCoverInfo.new
musicalbumcoverinfo_tmp.deserialize(i)
@CoverInfoSet << musicalbumcoverinfo_tmp
end
end
end
end
# SearchKTVMusics请求参数结构体
class SearchKTVMusicsRequest < TencentCloud::Common::AbstractModel
# @param AppName: 应用名称。
# @type AppName: String
# @param UserId: 用户标识。
# @type UserId: String
# @param KeyWord: 关键词。
# @type KeyWord: String
# @param ScrollToken: 滚动标记。
# @type ScrollToken: String
# @param Limit: 返回条数限制,默认 20,最大 50.
# @type Limit: Integer
# @param RightFilters: 权益过滤,取值有:
# Play:可播;
# Sing:可唱。
# @type RightFilters: Array
attr_accessor :AppName, :UserId, :KeyWord, :ScrollToken, :Limit, :RightFilters
def initialize(appname=nil, userid=nil, keyword=nil, scrolltoken=nil, limit=nil, rightfilters=nil)
@AppName = appname
@UserId = userid
@KeyWord = keyword
@ScrollToken = scrolltoken
@Limit = limit
@RightFilters = rightfilters
end
def deserialize(params)
@AppName = params['AppName']
@UserId = params['UserId']
@KeyWord = params['KeyWord']
@ScrollToken = params['ScrollToken']
@Limit = params['Limit']
@RightFilters = params['RightFilters']
end
end
# SearchKTVMusics返回参数结构体
class SearchKTVMusicsResponse < TencentCloud::Common::AbstractModel
# @param KTVMusicInfoSet: 歌曲信息列表。
# @type KTVMusicInfoSet: Array
# @param ScrollToken: 滚动标记,用于设置下次请求的 ScrollToken 参数。
# @type ScrollToken: String
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :KTVMusicInfoSet, :ScrollToken, :RequestId
def initialize(ktvmusicinfoset=nil, scrolltoken=nil, requestid=nil)
@KTVMusicInfoSet = ktvmusicinfoset
@ScrollToken = scrolltoken
@RequestId = requestid
end
def deserialize(params)
unless params['KTVMusicInfoSet'].nil?
@KTVMusicInfoSet = []
params['KTVMusicInfoSet'].each do |i|
ktvmusicbaseinfo_tmp = KTVMusicBaseInfo.new
ktvmusicbaseinfo_tmp.deserialize(i)
@KTVMusicInfoSet << ktvmusicbaseinfo_tmp
end
end
@ScrollToken = params['ScrollToken']
@RequestId = params['RequestId']
end
end
end
end
end