2

Google Castフレームワークを使用するiOS Obj-Cアプリを開発しています。 iOS - MPNowPlayingInfoCenterとChromecastを統合してロック画面コントロールを提供する

は、私は、ロックスクリーンコントロールは、私がバックグラウンド化をサポートするために、私のアプリに適切な権限を追加した MPNowPlayingInfoCenter

を経由して作業を取得しようとしています。

は、私はそうのようなキャストデバイスを初期化しています:私は受信機にメディアを起動すると

self.chromeCastDeviceManager = [[GCKDeviceManager alloc] initWithDevice:self.selectedChromeCastDevice clientPackageName:[info objectForKey:@"CFBundleIdentifier"] ignoreAppStateNotifications:YES];

が、私は成功した再生応答を得るときMPNowPlayingInfoCenterを初期化してみてください。

NSInteger result = [_castControlChannel play]; 

if (!result) { 
    //launch has worked 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 

    Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter"); 

    if (playingInfoCenter) { 

     NSDictionary *songInfo = [NSDictionary dictionaryWithObjectsAndKeys: 
            @"Test artist", MPMediaItemPropertyArtist, 
            @"Test title", MPMediaItemPropertyTitle, 
            @"Test Album", MPMediaItemPropertyAlbumTitle, 
            nil]; 
     [[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo]; 
    } 
} 

私は、彼らがAVKit/ AVFoundation経由で読み込まれているときMPNowPlayingInfoCenterだけメディアセッションのためのコントロールを提供することを信じることを始めていますか?私はこれを言って正しいですか?

これが当てはまる場合は、Chromecastでplay methodという長いNSIntegerをAVKit/ AVFoundationという長さで作成する可能性があります。その後、AVPlayerを隠して無音にします。その後、メディアコントロールをキャッチしてChromecastにリダイレクトできますか?

iOSのYoutubeアプリはこのように動作しますか?両方のNetflixとSpotifyは、クロムキャストにキャストするときにロック画面コントロールをサポートしていません。

+0

を見て、私はそれにいただきました!トリックを見つけるためにうずうずしています、問題の任意の新たな展開があるのですか? –

答えて

0

ロック画面でプレーヤーコントロールを表示するソリューションを開発しました。私は、method_exchangeImplementationsや、プレイヤーを擬似的に演奏して模擬するためのミュートサウンドのような、いくつかのハックを使っています。私もこの記事に応答した

Does google chromecast iOS SDK support lock screen controls?

これまでのところ、それは大丈夫動作しますが、おそらくまだ改善が必要です。

Spotifyはまた、この機能を持っていhttps://github.com/peantunes/google-cast-ios-lock-screen

関連する問題