저는 Google Cast SDK에 매우 익숙하며 캐스트 개발자 콘솔에 스타일 미디어 수신기가있는 앱을 등록했습니다. 내 아이디어는 안드로이드 응용 프로그램에서 이미지를 chromecast 장치로 보내는 것입니다. 몇 가지 예제를 시도해 보았습니다. 지금 내 자신의 코드를 작성하려고 시도했지만 다음은 장치를 발견하는 데 사용 된 코드 조각입니다. 하지만 작동하지 않는 것 같습니다. 매니페스트에서 올바른 권한을 설정했지만 어떤 이유로 액션 바에 표시 할 캐스트 버튼을 가져올 수 없습니다.캐스트 응용 프로그램 검색이 내 응용 프로그램 ID와 함께 작동하지 않습니다.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getSupportActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(
android.R.color.transparent));
mMediaRouter = MediaRouter.getInstance(getApplicationContext());
mMediaRouteSelector = new MediaRouteSelector.Builder()
//.addControlCategory(
//CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID).build();
.addControlCategory(
CastMediaControlIntent.categoryForCast(getResources()
.getString(R.string.app_id))).build();
mMediaRouterCallback = new MyMediaRouterCallback();
}
@Override
protected void onResume() {
super.onResume();
// Start media router discovery
mMediaRouter.addCallback(mMediaRouteSelector, mMediaRouterCallback,
MediaRouter.CALLBACK_FLAG_REQUEST_DISCOVERY);
}
@Override
protected void onPause() {
if (isFinishing()) {
// End media router discovery
mMediaRouter.removeCallback(mMediaRouterCallback);
}
super.onPause();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main, menu);
MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
MediaRouteActionProvider mediaRouteActionProvider = (MediaRouteActionProvider) MenuItemCompat
.getActionProvider(mediaRouteMenuItem);
// Set the MediaRouteActionProvider selector for device discovery.
mediaRouteActionProvider.setRouteSelector(mMediaRouteSelector);
return true;
}
음, 모든 설정이 완료되었습니다. github의 다른 애플리케이션을 사용할 수 있습니다. –
내 질문에 답하지 못했습니다. 앱 ID를 DEFAULT_MEDIA_RECEIVER_APPLICATION_ID (으)로 변경하고 다른 변경 사항 만 변경하면 작동합니까? –
아니요. .addControlCategory ( \t \t CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID) .build()를 추가하려고했습니다. 코드에서 작동하지만 나에게 도움이되지 않았다면 –