2016-12-14 4 views
0

Google Cast SDK를 사용하여 작은 앱을 제작하려고합니다. 이 앱은 내 오디오 시스템이 현재 재생중인 (Google Casted) 노래를 표시 할 수 있어야합니다. 트랙의 제목, 길이, 아티스트, 앨범 등에 대한 정보가 포함되어야합니다.Google Cast : 오디오 기기에서 현재 재생중인 노래 받기

iOS 클래스를 사용하여 에 GCKDiscoveryManager으로 연결할 수있었습니다. 그러나 현재 재생중인 트랙에 대한 데이터를 얻으려면 어떻게해야합니까?

나는 iOS 수업에 대한 답변을 선호하지만, Chromecast 브라우저 확장 프로그램에서도 같은 결과를 얻으려는 어떠한 힌트도 크게 부탁드립니다.

부가 기능 : 나는 this link 지적 된 캐스트 개발자 + - 그룹에

, 감사 레온! 내가 GCKRemoteMediaClient 객체를 가지고 있다면 내가 할 수있는 GCKRemoteMediaClientListener을 등록해야한다는 것을 알았습니다. 그걸 얻는 유일한 방법은 GCKSession입니다. 그런 세션을 처음부터 만들 수 있지만 그 다음에 remoteMediaClient 속성은 nil입니다. 또는 GCKCastContext.sharedInstance().sessionManager에게 나를위한 세션을 시작하도록 요청할 수 있습니다. 하지만 그렇게하면 장치가 즉시 재생을 중지합니다. 그래서 나는 초기 목표를 달성하는 방법에 대해 아직도 약간 분실되어 있습니다.

도움이 필요하십니까?

답변

1

캐스트 개발자 그룹의 Leon의 도움을받은 후이 내용을 알아 냈습니다. 핵심 정보는 내 오디오 장치에서 실행중인 앱의 ID입니다. 나는 이것을 deprecated 2.0 API에 의해 알아 냈다. 그래서 나는이 세부 사항을 추가하지 않을 것이다. 그래서 당신은 그 열쇠를 가지고 가정, 당신은

let options = GCKCastOptions.init(receiverApplicationID: applicationID) 
GCKCastContext.setSharedInstanceWith(options) 

그다음에 의해 yiur 캐스트 컨텍스트를 초기화 할 수 있습니다 당신의 장치를 찾을 수 있습니다. 이것은 너무 힘들지 않았습니다. (나는 혼자서 알아 냈습니다 : o) GCKCastContext.sharedInstance().discoveryManager은 당신의 친구입니다. GCKCastContext.sharedInstance().sessionManager을 통해 세션을 시작하면 이 아니며이 재생을 중지합니다. 전적으로 논리적으로 볼 때 논리적 인 응용 프로그램 ID로 어떤 앱을 시작했는지 궁금합니다.

세션이 시작되면 세션을 캐스팅 세션으로 캐스팅하고 세션 수신기를 추가 할 수 있습니다.

if let session = sessionManager.currentSession as? GCKCastSession { 
    session.add(self) 
} 

그리고

func castSession(_ castSession: GCKCastSession, didReceive activeInputStatus: GCKActiveInputStatus) 

지금 긴 remoteMediaClient을 잃고 찾아 자신의 소중한 이벤트

if let client = castSession.remoteMediaClient { 
    client.add(self) 
} 

에 등록 할 수 있습니다에서 언급 그리고 이것은이 종료됩니다로 해당 세션은 화려 함을 통지 할 때 귀하의 대표자에게 전화하여 긴 여행

func remoteMediaClient(_ client: GCKRemoteMediaClient, didUpdate mediaMetadata: GCKMediaMetadata) 

그리고 내가 그랬던 것처럼 당신이 운이 좋다면 데이터는 아주 불완전합니다. 광산에 방금 제목과 출시일이 포함되어 있습니다. 감사합니다 Deezer!

하지만 Deezer 서버에서 누락 된 데이터를 얻기 위해 전체 프로세스에서 얻은 일부 ID 또는 다른 ID를 사용할 수 있습니까? 시간이 말해 줄거야.

그동안 저는이 도움이 더 많은 사람에게 도움이되기를 바랍니다.

관련 문제