2013-05-13 5 views
2

나는 자동으로 뮤직 플레이어에서 작동합니다. 간단히 말하면, Last.fm API를 사용하여 많은 트랙 이름과 태그를 얻습니다. 이러한 태그와 인텔리전스 컴퓨팅 알고리즘을 사용하면 트랙을 재생하면 플레이어가 다른 트랙을 설정합니다 (이전에 청취 한 트랙의 태그에 매우 적합한 태그 포함).JavaFX 프로젝트 youtube 비디오를 재생

영화의 URL을 검색하기 위해 YouTube API를 사용했는데 제대로 작동하도록 관리했습니다. 이제 내 음악 플레이어에서 비디오를 재생하고 싶습니다. YouTubeView를 WebView에 배치하려고했습니다. 그것은 효과가 있지만 의도 한대로는 아닙니다. 나는 그 선수를 통제하고 싶다. 자동으로 재생되기를 원하며, 다음 비디오를 시작할 수 있도록 비디오가 끝났을 때 알아 차리고 싶습니다.

유튜브 API를 사용하는 검색을 기반으로 YouTube에서 비디오를 재생하고 내 GUI에 배치 한 유튜브 플레이어를 제어 할 수있는 단서 (명령 줄에서 재생 및 정지하도록하십시오.)? 아니면 YouTubeFrame을 다운로드하여 JavaFX API를 사용하여 재생할 수있는 방법이 있습니까? 나는 구글을 검색해 JavaFX API로 재생할 수있는 형식으로 YouTube 동영상을 다운로드 할 수 없다는 사실을 알아 냈습니다. 자바 FX 8의

+1

스택 오버플로에 오신 것을 환영합니다! Nicolae Mariuta! 문제를 설명해 주었지만 몇 가지 코드를 볼 수 있다는 점에 크게 감사드립니다.귀하의 질문에 더 높은 가치를 지니도록 약간의 코드를 추가하는 것을 고려하십시오. –

+1

귀하의 질문에 대한 답변을 조금씩 고려해보십시오. 그래서 그들은 단지 한 가지 구체적인 것을 물어 봅니다. 예를 들어, JavaFX에서 YouTube를 재생하는 것은 한 가지 질문 중 하나입니다. YouTube API로 검색하는 것은 완전히 다른 일이며 외부 코드에서 YouTube 재생 API를 활용하는 것은 또 다른 문제입니다. – jewelsea

답변

2

업데이트 12 월 4, 2015

일부 버전의 유튜브 비디오 콘텐츠를 재생할 수 없습니다. 현재 Java 8u66은 YouTube 비디오 콘텐츠를 재생할 수 없지만 Java 8u72의 초기 액세스는 가능합니다.

또한 샘플 솔루션에서 언급 된 일부 비디오는 더 이상 제공되지 않거나 임베디드 비디오 플레이어에서 재생되지 않도록 보호되어 있습니다. 따라서 배포가 제한되어있는 사용 가능한 비디오를 사용하여 테스트를 수행하십시오. 필요한 경우 배포 제한에 대한 정보는 YouTube 설명서를 참조하십시오. 내가 무엇을해야하는지의

모든 단서는, 시작하기 code playing YouTube videos in JavaFXYouTube HTML5 api을 볼 수있는 힌트으로 유튜브

에서 비디오를 재생합니다.

다음은 JavaFX "새 노래"버튼과의 상호 작용을 통해 비디오 재생을 일부 (최소한의) 제어로 JavaFX WebView 내에서 YouTube 비디오를 실행하고 재생 한 샘플 코드입니다.

slideoutyoutubeplayer

또는 유튜브 동영상을 다운로드하고 자바 FX API를 사용하여 재생 않을 수 방법은 무엇입니까? 나는 구글을 검색해 JavaFX API로 재생할 수있는 형식으로 YouTube 동영상을 다운로드 할 수 없다는 사실을 알아 냈습니다.

이러한 사용은 YouTube's terms of service에 위배됩니다. YouTube에서는 YouTube 동영상 플레이어를 사용하여 동영상을 재생해야한다고 말합니다 (동영상 플레이어에 광고를 삽입 해 봅시다).

5.유튜브 사용할 수 수단에 대한하게하지 않는 한 동의

는 YouTube의 사전 서면 승인없이 어떠한 매체 에 포함, 웹 사이트의 일부 또는 서비스 또는 일부를 분배하지했지만 콘텐츠에 국한되지 서비스 (예 : YouTube 플레이어)에서 제공하는 기능 을 통한 배포;

5.1 C

당신이 어떤 기술 을 통해 콘텐츠에 액세스하지 않을 것에 동의 또는 YouTube와 같은 웹 사이트 자체 YouTube 플레이어, 또는 다른 수단의 동영상 재생 페이지가 아닌 다른 의미

수도 있습니다에 대한 명시 적 지정 목적;

+0

JavaFX에서 로컬 swf 파일을 재생하려고 시도하지만 Flash Player를로드 할 수없는 것 같습니다. –

+1

SWF 파일을 재생하는 것은 운이 좋지 않습니다. 나는 그것이 작동하지 않을 것이기 때문에 그것을 결코 시도하지 않았다. SWF는 JavaFX에서 지원하지 않으며 절대로 존재하지 않는 Flash 특정 형식입니다. 이 답변은 SWF와는 관계가 없으며 YouTube의 HTML5 API (YouTube 플래시 API 아님)를 사용하여 YouTube 동영상을 재생하는 것과 관련이 있습니다. – jewelsea

+0

webview 호스팅 플래시 플레이어에서 로컬 swf 컨텐츠를 재생할 수 있습니까? 나는 그것이 가능하다는 것을 의미한다. 그래서 나를 안내해라. 난 그냥 플래시 플레이어를 사용하여 로컬 swf 파일을 재생하지만, 방법을 원한다! –

1

나는 조금씩 발전했지만 다른 문제에 봉착했습니다.

우선, jewelsea의 코드는 훌륭했습니다. 이제 플레이어를 내 플레이어의 보조 창에 삽입 할 수 있으며 youtube API를 사용하여 가져온 URL을 기반으로 영화를 보여줍니다. 그러나 JavaFX는 대부분의 영화를 보여줄 수없는 것처럼 보입니다. YouTube 플레이어와 Adobe Flashplayer의 최신 버전을 설치해야한다는 오류 메시지가 표시됩니다. 필자의 연구 결과에 따르면, WebView는 품질이 240p 이상으로 설정된 영화 만 볼 수 있다는 것을 알게되었습니다.

나는 웹에서 240p 화질의 비디오를 재생하는 방법을 많이 연구했다. 우선, 나는 youtube 쿼리 매개 변수 (https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#formatsp)를 설정하려고 시도했다. 거기에서 모든 매개 변수를 시도했는데, 1,5와 6입니다. 그러나 JavaFX의 webView에서 볼 수있는 형식의 영화 URL은 얻지 못했습니다.

나는이 같은 영화의 URL에서 비디오 품질을 포함하려고 : HTTP가 : /www.youtube.com/watch V = og2YZlLhjKs & VQ = 작은 : 240P; 하지만 전혀 작동하지 않습니다. 또한 URL을 브라우저에 기록 했으므로 URL에 어떤 매개 변수를 적어도 YouTube가 자동으로 동영상을 최고 품질로 설정하는 것처럼 보입니다.

유튜브 API의 나는이 웹 페이지에서 같은 동일 사용 코드 : http://www.javacodegeeks.com/2010/05/getting-started-with-youtube-java-api.html

난 그냥 목록에있는 첫 번째 비디오의 URL을 반환하는 방법에 대한 기본 클래스 코드를 이동, 그리고 "query.setOrderBy (YouTubeQuery.OrderBy.VIEW_COUNT);" 을 "query.setOrderBy (YouTubeQuery.OrderBy.RELEVANCE);"로 변경했습니다. 그리고이 작품은 잘하고, 내가 검색하는 적절한 뮤직 비디오에 대한 URL을 보여줍니다.

내 프로젝트의 코드가 표시되지 않아 죄송합니다. 크기가 커서 2-3 개의 API 키가 포함되어 있으며 동영상 URL http : /www.youtube.com/watch를 변경하는 방법을 알려 주시면 알려드립니다. v = og2YZlLhjKs를 사용하여이 웹 사이트의 코드 (https : /gist.github.com/jewelsea/1437374)를 작성하면 내 프로젝트에서도이 작업을 수행 할 수 있습니다.

그리고 YouTube 재생 API에 관한 것도 나에게 빛을주었습니다. 그 API에는 비디오 콘텐츠를 더 쉽게 재생할 수있는 많은 기능이 있습니다 (재생하게하고 정지 시키십시오). 그러나 문제는 자바 스크립트 프로그래밍에 대한 지식이없고 매우 슬픈 것입니다. Java API에서도 이러한 메소드가 없습니다. 어쩌면 나는 그것을 시도하고 내 webview에 자바 스크립트 코드를 삽입합니다. 하지만, 자바 스크립트를 사용하여 webview를 편집하는 경우 ... JavaFX webView에서 고품질의 영화를 재생할 예정입니까?

관련 문제