From 03267c1891282e5ce65a107772fafbe085f3d2eb Mon Sep 17 00:00:00 2001 From: syo68k Date: Mon, 2 Aug 2010 01:23:50 +0000 Subject: [PATCH] =?utf8?q?=E3=83=BByoutu.be=E3=81=AE=E5=8B=95=E7=94=BB?= =?utf8?q?=E3=83=97=E3=83=AC=E3=83=93=E3=83=A5=E3=83=BC=E3=81=8C=E5=8B=95?= =?utf8?q?=E3=81=8B=E3=81=AA=E3=81=8F=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=84?= =?utf8?q?=E3=81=9F=E3=83=90=E3=82=B0=E4=BF=AE=E6=AD=A3=20=E3=83=BBURL?= =?utf8?q?=E3=81=AE=E4=B8=80=E9=83=A8=E3=81=8C=E5=A4=A7=E6=96=87=E5=AD=97?= =?utf8?q?=E3=81=A7=E6=9B=B8=E3=81=8B=E3=82=8C=E3=81=A6=E3=81=84=E3=81=9F?= =?utf8?q?=E5=A0=B4=E5=90=88=E3=81=AB=E3=83=97=E3=83=AC=E3=83=93=E3=83=A5?= =?utf8?q?=E3=83=BC=E3=81=8C=E5=8B=95=E4=BD=9C=E3=81=97=E3=81=AA=E3=81=84?= =?utf8?q?=E3=83=90=E3=82=B0=E4=BF=AE=E6=AD=A3(www.youtube.com,youtu.be)?= =?utf8?q?=20=E3=83=BB=E8=A6=96=E8=81=B4=E5=88=B6=E9=99=90=E3=81=95?= =?utf8?q?=E3=82=8C=E3=81=A6=E3=81=84=E3=82=8B=E5=8B=95=E7=94=BB=E3=81=AE?= =?utf8?q?=E5=A0=B4=E5=90=88=E3=81=AF=E3=81=9D=E3=81=AE=E6=83=85=E5=A0=B1?= =?utf8?q?=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?utf8?q?=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.sourceforge.jp/svnroot/tween/trunk@639 e39ad16e-3079-482e-bb30-4b4d378143b6 --- Tween/Tween.vb | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Tween/Tween.vb b/Tween/Tween.vb index cf25e902..c89253fd 100644 --- a/Tween/Tween.vb +++ b/Tween/Tween.vb @@ -9036,14 +9036,15 @@ RETRY: End If End If Continue For - ElseIf url.Key.StartsWith("http://www.youtube.com/") OrElse url.Key.StartsWith("http://youtu.be/") Then + ElseIf url.Key.StartsWith("http://www.youtube.com/", StringComparison.CurrentCultureIgnoreCase) _ + OrElse url.Key.StartsWith("http://youtu.be/", StringComparison.InvariantCultureIgnoreCase) Then ' YouTube ' 参考 ' http://code.google.com/intl/ja/apis/youtube/2.0/developers_guide_protocol_video_entries.html ' デベロッパー ガイド: Data API プロトコル - 単独の動画情報の取得 - YouTube の API とツール - Google Code ' http://code.google.com/intl/ja/apis/youtube/2.0/developers_guide_protocol_understanding_video_feeds.html#Understanding_Feeds_and_Entries ' デベロッパー ガイド: Data API プロトコル - 動画のフィードとエントリについて - YouTube の API とツール - Google Code - Dim mc As Match = Regex.Match(url.Key, "^http://(?:(www\.youtube\.com)|(youtu\.be))/watch\?v=(?([\w\-]+))", RegexOptions.IgnoreCase) + Dim mc As Match = Regex.Match(url.Key, "^http://(?:(www\.youtube\.com)|(youtu\.be))/(watch\?v=)?(?([\w\-]+))", RegexOptions.IgnoreCase) If mc.Success Then Dim apiurl As String = "http://gdata.youtube.com/feeds/api/videos/" + mc.Groups("videoid").Value Dim imgurl As String = "" @@ -9055,6 +9056,7 @@ RETRY: xdoc.LoadXml(src) Dim nsmgr As New XmlNamespaceManager(xdoc.NameTable) nsmgr.AddNamespace("root", "http://www.w3.org/2005/Atom") + nsmgr.AddNamespace("app", "http://purl.org/atom/app#") nsmgr.AddNamespace("media", "http://search.yahoo.com/mrss/") Dim xentryNode As XmlNode = xdoc.DocumentElement.SelectSingleNode("/root:entry/media:group", nsmgr) @@ -9110,6 +9112,18 @@ RETRY: End Try + Try + xentry = CType(xdoc.DocumentElement.SelectSingleNode("/root:entry/app:control", nsmgr), XmlElement) + If xentry IsNot Nothing Then + sb.Append(xentry.Item("yt:state").Attributes("name").Value) + sb.Append(":") + sb.Append(xentry.Item("yt:state").InnerText) + sb.AppendLine() + End If + Catch ex As Exception + + End Try + Catch ex As Exception End Try -- 2.11.0