Example #1
0
        /// <summary>動画を検索するストリームを取得する</summary>
        /// <param name="Keyword">検索キーワード</param>
        /// <param name="SearchPage">検索ページの指定、1~nの間の数値を指定する</param>
        /// <param name="SearchType">検索方法を指定する</param>
        /// <param name="SearchOption">検索オプションを指定する</param>
        public Streams<Video.VideoInfoResponse> OpenSearchStreams(
            string          Keyword,
            int             SearchPage,
            SearchType      SearchType,
            SearchOption    SearchOption)
        {
            var serialize = new DataContractJsonSerializer(typeof(Serial.Search.Contract));
            var streamDataList = new List<StreamData>();
            Video.VideoInfoResponse lastData = null;

            streamDataList.Add(
                new StreamData()
                {
                    StreamType = StreamType.Read,
                    GetStream = () =>
                    {
                        return context.Client.OpenDownloadStream(
                            String.Format(
                                ApiUrls.VideoSearch,
                                SearchType.ToKey(),
                                Keyword,
                                SearchPage,
                                SearchOption.ToKey()));
                    },
                    SetReadData = (data) =>
                    {
                        lastData = converter.ConvertVideoInfoResponse(
                            (Serial.Search.Contract)serialize.ReadObject(new MemoryStream(data)));
                    }
                });

            return new Streams<Video.VideoInfoResponse>(
                streamDataList.ToArray(),
                () => lastData);
        }
Example #2
0
 /// <summary>動画を検索する</summary>
 /// <param name="Keyword">検索キーワード</param>
 /// <param name="SearchPage">検索ページの指定、1~nの間の数値を指定する</param>
 /// <param name="SearchType">検索方法を指定する</param>
 /// <param name="SearchOption">検索オプションを指定する</param>
 public Video.VideoInfoResponse Search(
     string          Keyword,
     int             SearchPage,
     SearchType      SearchType,
     SearchOption    SearchOption)
 {
     var streams = OpenSearchStreams(Keyword, SearchPage, SearchType, SearchOption);
     return streams.Run(streams.UntreatedCount);
 }