0

YouTubeからビデオアイテムを取得する関数があります。以下は、xmlを取得するhttpwebclient呼び出しです。

        Dim request As String = String.Format("http://gdata.youtube.com/feeds/api/videos/{0}?restriction=us", id)
        Dim responseByte() As Byte = Me.WebClient.DownloadData(request)
        Dim responseXML As String = System.Text.UTF8Encoding.UTF8.GetString(responseByte)

Youtubes APIフレームワークを使用するのではなく、この方法でビデオを取得する機能を作成することにした理由は、速度が遅いためです。

今、私が自分の機能でこのようにしたときは、より高速でしたが、大きなものでしたが、それでも遅いです。1ページに24本の動画を表示する場合、xmlから各動画情報を取得するときに合計で約24秒かかります。これは実際のオーバーヘッドです。24本のビデオを受信するだけで24秒は長すぎます。さらに多くのビデオを表示したい場合は、さらに時間がかかります。

だから問題は、YouTubeからビデオ情報を受け取るためのより速い方法はありますか?

私が抽出したいのは:

タイトルImageUrlアーティスト期間

4

1 に答える 1

0

fields querystringパラメーターを追加してから、抽出する要素を追加します。

    Dim request2 As String = String.Format("http://gdata.youtube.com/feeds/api/videos/{0}?fields=title,media:group/yt:duration,media:group/media:thumbnail&restriction=us", id)

このようにすると、結果の時間が半分になり、より速くなりますが、それでもこのアプローチよりもはるかに高速になります。誰かがより速い方法を知っていますか、それともこれが唯一の答えですか?

于 2011-03-04T14:21:26.670 に答える