2012-12-12 5 views
0

사용자가 목록을 표시 한 후 어떤 항목을 선택했는지에 따라 내 페이지에 동영상을 퍼가려고합니다."정상적인"URL로 삽입 된 상태에서 YouTube 동영상이 재생되지 않음

 <div id="vidContent" style="text-align:left"> 
      <object width="550px" height="350px" > 
       <asp:Literal ID="ltlVideo" runat="server"></asp:Literal> 
      </object> 
     </div> 

을 그리고 난 뒤에 코드가 있습니다 : 내 페이지에서 내가 가진

 Dim strVidPath As String = "http://www.youtube.com/v/" & strVidID 
     ltlVideo.Text = "<embed src='" & strVidPath & "' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' height='350' width='470'></embed> 
     phVideoBanner.Visible = True 

.. 당신은 "strVidID"

이있는 경우 ... 작품을 좋아

strVidPath = www.youtube.com/v/_O7iUiftbKU 인 경우에만 표시하고 재생하는 것처럼 보입니다.

하지만 strVidPath = www.youtube.com/watch?v=_O7iUiftbKU 인 경우 재생되지 않습니다 ... YouTube 동영상을 볼 때 주소 표시 줄의 정상적인 URL 인 것 같습니다.

사용자가 동영상을 페이지에 추가 할 수 있기를 바란다. 동영상의 URL에 붙여 넣기 만하면 쉽게 붙여 넣을 수 있다고 생각했지만 이제는 붙여 넣기해야 할 것 같다. videoID 대신에 www.youtube.com/v/_O7iUiftbKU를 사용하면 재생되는 것처럼 보입니다.

누구나 알 수 있습니다.

답변

1

"watch"라는 단어가 포함 된 URL 구조는 Youtube의 공개 웹 페이지로, 동영상보다 훨씬 많은 내용이 포함되어 있습니다 ... 페이지에 표시되는 다른 모든 콘텐츠도 포함됩니다 게다가. 본질적으로, 그것은 HTML 페이지로 해석되는 포인터이며 embed 요소의 소스로 HTML 페이지를 가질 수 없습니다.

적절한 URL 구조 (즉 작동하는 URL 구조)는 HTML 페이지에 대한 포인터가 아니며 플레이어 자체에 직접적으로 전달되는 포인터이므로 embed 요소의 소스로 사용할 수 있습니다.

다음은 Stack Overflow 질문에 대한 링크입니다.이 답변에는 일반 YouTube URL (입력 형식)을 입력으로 사용하고, 정규 표현식을 사용하고, Youtube ID 만 반환하는 C# 코드 블록이 포함되어 있습니다. 따라서 당신은 여전히 ​​사용자가 전체 동영상 URL에 붙여 넣기가 계속 할 수 있습니다 ... 당신의 필요에 따라 수정 꽤 간단 :

C# regex to get video id from youtube and vimeo by url

2

오히려 유튜브 페이지 URL을보고하고를 구성 구문 분석하는 것보다 코드를 직접 포함 시키려면 oEmbed service을 사용하면됩니다. 나는 이것에 대해 모르고 어떻게 http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch%3Fv%3DbDOYN-6gdRE&format=json&iframe=0

+0

: 레거시 삽입 코드가 아닌 iframe이 삽입 코드를 다시받을 필요가있는 경우

, 당신처럼에서 oEmbed 서비스에 대한 URL 매개 변수의 하나로서 iframe=0을 통과해야 것 서비스? 이것은 나를 위해 매우 편리 할 것이다. .. 고마워. 나는 문서화를 위해 아래에 나의 대답을 남겨 두겠다. 그러나 이것은 올바른 것으로 표기되어야한다. – jlmcdonald

+0

oEmbed는 업계 표준이지만 유감스럽게도 YouTube의 oEmbed 지원은 해당 블로그 게시물에만 문서화되어 있습니다. 공식 YouTube API 문서에 실제로 나타나야하지만 일부 내부 프로세스 관련로드 블록은이를 방지했습니다. –

관련 문제