Java 类android.media.MediaRouter 实例源码
项目:PresenterLite
文件:StandaloneDisplayActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.d(TAG, "StandaloneDisplayActivity.onCreate()");
super.onCreate(savedInstanceState);
int layout = getLayout();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(layout);
displayLayout = (DisplayLayout) findViewById(R.id.display);
ActionBar ab = getActionBar();
if (ab != null) {
ab.hide();
}
if (!getIntent().getBooleanExtra(EXTRA_MIRROR_DISPLAY, false)) {
mediaRouter = (MediaRouter) getSystemService(MEDIA_ROUTER_SERVICE);
mediaRouter
.addCallback(MediaRouter.ROUTE_TYPE_LIVE_VIDEO, callback);
updatePresentation();
}
displayLayout.go(0, false);
View view = findViewById(R.id.display_attributes);
DisplayInfoHelper.populate(this, view, getWindowManager().getDefaultDisplay());
DisplayInfoHelper.show(view, DURATION);
}
项目:FMTech
文件:abw.java
private final void e()
{
MediaRouter localMediaRouter = (MediaRouter)this.i;
int i1 = localMediaRouter.getRouteCount();
ArrayList localArrayList = new ArrayList(i1);
for (int i2 = 0; i2 < i1; i2++) {
localArrayList.add(localMediaRouter.getRouteAt(i2));
}
Iterator localIterator = localArrayList.iterator();
boolean bool = false;
while (localIterator.hasNext()) {
bool |= f(localIterator.next());
}
if (bool) {
a();
}
}
项目:FMTech
文件:abw.java
public final void a(aay paramaay)
{
aax localaax = paramaay.a;
aao.a();
if (localaax.a != this)
{
Object localObject1 = this.i;
Object localObject2 = this.s;
MediaRouter.UserRouteInfo localUserRouteInfo = ((MediaRouter)localObject1).createUserRoute((MediaRouter.RouteCategory)localObject2);
abz localabz = new abz(paramaay, localUserRouteInfo);
((MediaRouter.RouteInfo)localUserRouteInfo).setTag(localabz);
Object localObject3 = this.r;
((MediaRouter.UserRouteInfo)localUserRouteInfo).setVolumeCallback((MediaRouter.VolumeCallback)localObject3);
a(localabz);
this.t.add(localabz);
((MediaRouter)this.i).addUserRoute((MediaRouter.UserRouteInfo)localUserRouteInfo);
}
int i1;
do
{
return;
i1 = g(((MediaRouter)this.i).getSelectedRoute(8388611));
} while ((i1 < 0) || (!((aby)this.n.get(i1)).b.equals(paramaay.b)));
aao.a();
aao.b.a(paramaay, 3);
}
项目:FMTech
文件:abw.java
protected void a(aby paramaby, aad paramaad)
{
int i1 = ((MediaRouter.RouteInfo)paramaby.a).getSupportedTypes();
if ((i1 & 0x1) != 0) {
paramaad.a(o);
}
if ((i1 & 0x2) != 0) {
paramaad.a(p);
}
int i2 = ((MediaRouter.RouteInfo)paramaby.a).getPlaybackType();
paramaad.a.putInt("playbackType", i2);
int i3 = ((MediaRouter.RouteInfo)paramaby.a).getPlaybackStream();
paramaad.a.putInt("playbackStream", i3);
int i4 = ((MediaRouter.RouteInfo)paramaby.a).getVolume();
paramaad.a.putInt("volume", i4);
int i5 = ((MediaRouter.RouteInfo)paramaby.a).getVolumeMax();
paramaad.a.putInt("volumeMax", i5);
int i6 = ((MediaRouter.RouteInfo)paramaby.a).getVolumeHandling();
paramaad.a.putInt("volumeHandling", i6);
}
项目:FMTech
文件:abw.java
public final void a(Object paramObject)
{
if (paramObject != ((MediaRouter)this.i).getSelectedRoute(8388611)) {}
aay localaay1;
do
{
int i1;
do
{
return;
abz localabz = i(paramObject);
if (localabz != null)
{
aay localaay2 = localabz.a;
aao.a();
aao.b.a(localaay2, 3);
return;
}
i1 = g(paramObject);
} while (i1 < 0);
aby localaby = (aby)this.n.get(i1);
localaay1 = this.q.a(localaby.b);
} while (localaay1 == null);
aao.a();
aao.b.a(localaay1, 3);
}
项目:FMTech
文件:abw.java
protected void b()
{
if (this.m)
{
this.m = false;
Object localObject3 = this.i;
Object localObject4 = this.j;
((MediaRouter)localObject3).removeCallback((MediaRouter.Callback)localObject4);
}
if (this.k != 0)
{
this.m = true;
Object localObject1 = this.i;
int i1 = this.k;
Object localObject2 = this.j;
((MediaRouter)localObject1).addCallback(i1, (MediaRouter.Callback)localObject2);
}
}
项目:FMTech
文件:abw.java
public final void b(aay paramaay)
{
aax localaax = paramaay.a;
aao.a();
if (localaax.a != this)
{
int i1 = e(paramaay);
if (i1 >= 0)
{
abz localabz = (abz)this.t.remove(i1);
((MediaRouter.RouteInfo)localabz.b).setTag(null);
((MediaRouter.UserRouteInfo)localabz.b).setVolumeCallback((MediaRouter.VolumeCallback)null);
Object localObject1 = this.i;
Object localObject2 = localabz.b;
((MediaRouter)localObject1).removeUserRoute((MediaRouter.UserRouteInfo)localObject2);
}
}
}
项目:FMTech
文件:abb.java
public final Object a(Object paramObject)
{
MediaRouter localMediaRouter = (MediaRouter)paramObject;
if (this.a != null) {}
try
{
Object localObject = this.a.invoke(localMediaRouter, new Object[0]);
return localObject;
}
catch (InvocationTargetException localInvocationTargetException)
{
return localMediaRouter.getRouteAt(0);
}
catch (IllegalAccessException localIllegalAccessException)
{
label31:
break label31;
}
}
项目:ApkLauncher
文件:PresentationWithMediaRouterActivity.java
/**
* Initialization of the Activity after it is first created. Must at least
* call {@link android.app.Activity#setContentView setContentView()} to
* describe what is to be displayed in the screen.
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
// Be sure to call the super class.
super.onCreate(savedInstanceState);
// Get the media router service.
mMediaRouter = (MediaRouter)getSystemService(Context.MEDIA_ROUTER_SERVICE);
// See assets/res/any/layout/presentation_with_media_router_activity.xml for this
// view layout definition, which is being set here as
// the content of our screen.
setContentView(R.layout.presentation_with_media_router_activity);
// Set up the surface view for visual interest.
mSurfaceView = (GLSurfaceView)findViewById(R.id.surface_view);
mSurfaceView.setRenderer(new CubeRenderer(false));
// Get a text view where we will show information about what's happening.
mInfoTextView = (TextView)findViewById(R.id.info);
}
项目:ApkLauncher
文件:PresentationWithMediaRouterActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Be sure to call the super class.
super.onCreateOptionsMenu(menu);
// Inflate the menu and configure the media router action provider.
getMenuInflater().inflate(R.menu.presentation_with_media_router_menu, menu);
MenuItem mediaRouteMenuItem = menu.findItem(R.id.menu_media_route);
MediaRouteActionProvider mediaRouteActionProvider =
(MediaRouteActionProvider)mediaRouteMenuItem.getActionProvider();
mediaRouteActionProvider.setRouteTypes(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
// Return true to show the menu.
return true;
}
项目:Popeens-DSub
文件:JukeboxRouteProvider.java
private void broadcastDescriptor() {
// Create intents
IntentFilter routeIntentFilter = new IntentFilter();
routeIntentFilter.addCategory(CATEGORY_JUKEBOX_ROUTE);
routeIntentFilter.addAction(MediaControlIntent.ACTION_START_SESSION);
routeIntentFilter.addAction(MediaControlIntent.ACTION_GET_SESSION_STATUS);
routeIntentFilter.addAction(MediaControlIntent.ACTION_END_SESSION);
// Create route descriptor
MediaRouteDescriptor.Builder routeBuilder = new MediaRouteDescriptor.Builder("Jukebox Route", "Subsonic Jukebox");
routeBuilder.addControlFilter(routeIntentFilter)
.setPlaybackStream(AudioManager.STREAM_MUSIC)
.setPlaybackType(MediaRouter.RouteInfo.PLAYBACK_TYPE_REMOTE)
.setDescription("Subsonic Jukebox")
.setVolume(controller == null ? 5 : (int) (controller.getVolume() * 10))
.setVolumeMax(MAX_VOLUME)
.setVolumeHandling(MediaRouter.RouteInfo.PLAYBACK_VOLUME_VARIABLE);
// Create descriptor
MediaRouteProviderDescriptor.Builder providerBuilder = new MediaRouteProviderDescriptor.Builder();
providerBuilder.addRoute(routeBuilder.build());
setDescriptor(providerBuilder.build());
}
项目:ApiDemos
文件:PresentationWithMediaRouterActivity.java
/**
* Initialization of the Activity after it is first created. Must at least
* call {@link android.app.Activity#setContentView setContentView()} to
* describe what is to be displayed in the screen.
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
// Be sure to call the super class.
super.onCreate(savedInstanceState);
// Get the media router service.
mMediaRouter = (MediaRouter)getSystemService(Context.MEDIA_ROUTER_SERVICE);
// See assets/res/any/layout/presentation_with_media_router_activity.xml for this
// view layout definition, which is being set here as
// the content of our screen.
setContentView(R.layout.presentation_with_media_router_activity);
// Set up the surface view for visual interest.
mSurfaceView = (GLSurfaceView)findViewById(R.id.surface_view);
mSurfaceView.setRenderer(new CubeRenderer(false));
// Get a text view where we will show information about what's happening.
mInfoTextView = (TextView)findViewById(R.id.info);
}
项目:tribler-android
文件:VideoPlayerActivity.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void createPresentation() {
if (mMediaRouter == null || mEnableCloneMode)
return;
// Get the current route and its presentation display.
MediaRouter.RouteInfo route = mMediaRouter.getSelectedRoute(
MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
Display presentationDisplay = route != null ? route.getPresentationDisplay() : null;
if (presentationDisplay != null) {
// Show a new presentation if possible.
Log.i(TAG, "Showing presentation on display: " + presentationDisplay);
mPresentation = new SecondaryDisplay(this, presentationDisplay);
mPresentation.setOnDismissListener(mOnDismissListener);
try {
mPresentation.show();
} catch (WindowManager.InvalidDisplayException ex) {
Log.w(TAG, "Couldn't show presentation! Display was removed in "
+ "the meantime.", ex);
mPresentation = null;
}
} else
Log.i(TAG, "No secondary display detected");
}
项目:MyCTFWriteUps
文件:MediaRouterJellybean.java
public GetDefaultRouteWorkaround()
{
if (android.os.Build.VERSION.SDK_INT < 16 || android.os.Build.VERSION.SDK_INT > 17)
{
throw new UnsupportedOperationException();
}
try
{
mGetSystemAudioRouteMethod = android/media/MediaRouter.getMethod("getSystemAudioRoute", new Class[0]);
return;
}
catch (NoSuchMethodException nosuchmethodexception)
{
return;
}
}
项目:MyCTFWriteUps
文件:MediaRouterJellybean.java
public SelectRouteWorkaround()
{
if (android.os.Build.VERSION.SDK_INT < 16 || android.os.Build.VERSION.SDK_INT > 17)
{
throw new UnsupportedOperationException();
}
try
{
mSelectRouteIntMethod = android/media/MediaRouter.getMethod("selectRouteInt", new Class[] {
Integer.TYPE, android/media/MediaRouter$RouteInfo
});
return;
}
catch (NoSuchMethodException nosuchmethodexception)
{
return;
}
}
项目:PresenterLite
文件:StandaloneDisplayActivity.java
private void updatePresentation() {
MediaRouter.RouteInfo route = mediaRouter
.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
Display presentationDisplay = route != null ? route
.getPresentationDisplay() : null;
if (displayPresentation != null
&& displayPresentation.getDisplay() != presentationDisplay) {
displayPresentation.dismiss();
displayPresentation = null;
}
if (displayPresentation == null && presentationDisplay != null) {
displayPresentation = new DisplayPresentation(this, presentationDisplay);
displayPresentation.setOnDismissListener(
new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
if (dialog == displayPresentation) {
displayPresentation = null;
}
}
}
);
displayPresentation.show();
displayPresentation.go(displayLayout.getCurrentSlidePos(), displayLayout.getCurrentSlidePhase());
}
}
项目:Android-O-Feature
文件:SecondaryDisplayActivity.java
private void setupThing() {
MediaRouter mediaRouter = (MediaRouter) getSystemService(Context.MEDIA_ROUTER_SERVICE);
if (mediaRouter != null) {
MediaRouter.RouteInfo routeInfo = mediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
if (routeInfo != null) {
Display presentationDisplay = routeInfo.getPresentationDisplay();
Bundle bundle = ActivityOptions.makeBasic().setLaunchDisplayId(presentationDisplay.getDisplayId()).toBundle();
Intent intent = new Intent(this, EachAnotherActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent, bundle);
}
}
}
项目:FMTech
文件:abw.java
public abw(Context paramContext, acf paramacf)
{
super(paramContext);
this.q = paramacf;
this.i = paramContext.getSystemService("media_router");
this.j = c();
this.r = new abe(this);
Resources localResources = paramContext.getResources();
Object localObject = this.i;
String str = localResources.getString(efj.bF);
this.s = ((MediaRouter)localObject).createRouteCategory(str, false);
e();
}
项目:FMTech
文件:abw.java
private static abz i(Object paramObject)
{
Object localObject = ((MediaRouter.RouteInfo)paramObject).getTag();
if ((localObject instanceof abz)) {
return (abz)localObject;
}
return null;
}
项目:FMTech
文件:abw.java
private String j(Object paramObject)
{
Context localContext = this.a;
CharSequence localCharSequence = ((MediaRouter.RouteInfo)paramObject).getName(localContext);
if (localCharSequence != null) {
return localCharSequence.toString();
}
return "";
}
项目:FMTech
文件:abw.java
protected void h(Object paramObject)
{
if (this.u == null) {
this.u = new abc();
}
abc localabc = this.u;
MediaRouter localMediaRouter = (MediaRouter)this.i;
MediaRouter.RouteInfo localRouteInfo = (MediaRouter.RouteInfo)paramObject;
if (((0x800000 & localRouteInfo.getSupportedTypes()) == 0) && (localabc.a != null)) {}
try
{
Method localMethod = localabc.a;
Object[] arrayOfObject = new Object[2];
arrayOfObject[0] = Integer.valueOf(8388611);
arrayOfObject[1] = localRouteInfo;
localMethod.invoke(localMediaRouter, arrayOfObject);
return;
}
catch (InvocationTargetException localInvocationTargetException)
{
localMediaRouter.selectRoute(8388611, localRouteInfo);
return;
}
catch (IllegalAccessException localIllegalAccessException)
{
label96:
break label96;
}
}
项目:FMTech
文件:acb.java
protected final void a(aby paramaby, aad paramaad)
{
super.a(paramaby, paramaad);
CharSequence localCharSequence = ((MediaRouter.RouteInfo)paramaby.a).getDescription();
if (localCharSequence != null)
{
String str = localCharSequence.toString();
paramaad.a.putString("status", str);
}
}
项目:FMTech
文件:acb.java
protected final void a(abz paramabz)
{
super.a(paramabz);
Object localObject = paramabz.b;
String str = paramabz.a.e;
((MediaRouter.UserRouteInfo)localObject).setDescription(str);
}
项目:vlc_android_win
文件:VideoPlayerActivity.java
/**
* Add or remove MediaRouter callbacks. This is provided for version targeting.
*
* @param add true to add, false to remove
*/
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void mediaRouterAddCallback(boolean add) {
if(!AndroidUtil.isJellyBeanMR1OrLater() || mMediaRouter == null) return;
if(add)
mMediaRouter.addCallback(MediaRouter.ROUTE_TYPE_LIVE_VIDEO, mMediaRouterCallback);
else
mMediaRouter.removeCallback(mMediaRouterCallback);
}
项目:vlc_android_win
文件:VideoPlayerActivity.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void createPresentation() {
if (mMediaRouter == null || mEnableCloneMode)
return;
// Get the current route and its presentation display.
MediaRouter.RouteInfo route = mMediaRouter.getSelectedRoute(
MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
Display presentationDisplay = route != null ? route.getPresentationDisplay() : null;
if (presentationDisplay != null) {
// Show a new presentation if possible.
Log.i(TAG, "Showing presentation on display: " + presentationDisplay);
mPresentation = new SecondaryDisplay(this, LibVLC(), presentationDisplay);
mPresentation.setOnDismissListener(mOnDismissListener);
try {
mPresentation.show();
mPresentationDisplayId = presentationDisplay.getDisplayId();
} catch (WindowManager.InvalidDisplayException ex) {
Log.w(TAG, "Couldn't show presentation! Display was removed in "
+ "the meantime.", ex);
mPresentation = null;
}
} else
Log.i(TAG, "No secondary display detected");
}
项目:VCL-Android
文件:VideoPlayerActivity.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void createPresentation() {
if (mMediaRouter == null || mEnableCloneMode)
return;
// Get the current route and its presentation display.
MediaRouter.RouteInfo route = mMediaRouter.getSelectedRoute(
MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
Display presentationDisplay = route != null ? route.getPresentationDisplay() : null;
if (presentationDisplay != null) {
// Show a new presentation if possible.
Log.i(TAG, "Showing presentation on display: " + presentationDisplay);
mPresentation = new SecondaryDisplay(this, LibVLC(), presentationDisplay);
mPresentation.setOnDismissListener(mOnDismissListener);
try {
mPresentation.show();
mPresentationDisplayId = presentationDisplay.getDisplayId();
} catch (WindowManager.InvalidDisplayException ex) {
Log.w(TAG, "Couldn't show presentation! Display was removed in "
+ "the meantime.", ex);
mPresentation = null;
}
} else
Log.i(TAG, "No secondary display detected");
}
项目:knightsofalentejo
文件:GameActivity.java
private void useBestRouteForGameplayPresentation() {
MediaRouter.RouteInfo mRouteInfo = findSecundaryDisplayRouter();
if (mRouteInfo != null) {
Display presentationDisplay = mRouteInfo.getPresentationDisplay();
if (presentationDisplay != null) {
useSecundaryDisplayForGameplayPresentation(presentationDisplay);
}
}
}
项目:Noyze
文件:VolumePanel.java
@Override
public void onRouteSelected(MediaRouter router, int type, MediaRouter.RouteInfo info) {
LOGD("MediaRouteListener", "onRouteSelected(" + type + ", " + info.getName() + ")");
mCurrentRouteInfo = info;
mCurrentRouteType = type;
refreshRoute();
}
项目:Noyze
文件:VolumePanel.java
@Override
public void onRouteUnselected(MediaRouter router, int type, MediaRouter.RouteInfo info) {
LOGD("MediaRouteListener", "onRouteUnselected(" + type + ", " + info.getName() + ")");
mCurrentRouteInfo = null;
mCurrentRouteType = type;
refreshRoute();
}
项目:vlc-android
文件:VideoPlayerActivity.java
/**
* Add or remove MediaRouter callbacks. This is provided for version targeting.
*
* @param add true to add, false to remove
*/
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void mediaRouterAddCallback(boolean add) {
if(!AndroidUtil.isJellyBeanMR1OrLater() || mMediaRouter == null) return;
if(add)
mMediaRouter.addCallback(MediaRouter.ROUTE_TYPE_LIVE_VIDEO, mMediaRouterCallback);
else
mMediaRouter.removeCallback(mMediaRouterCallback);
}
项目:vlc-android
文件:VideoPlayerActivity.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void createPresentation() {
if (mMediaRouter == null || mEnableCloneMode)
return;
// Get the current route and its presentation display.
MediaRouter.RouteInfo route = mMediaRouter.getSelectedRoute(
MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
Display presentationDisplay = route != null ? route.getPresentationDisplay() : null;
if (presentationDisplay != null) {
// Show a new presentation if possible.
Log.i(TAG, "Showing presentation on display: " + presentationDisplay);
mPresentation = new SecondaryDisplay(this, LibVLC(), presentationDisplay);
mPresentation.setOnDismissListener(mOnDismissListener);
try {
mPresentation.show();
mPresentationDisplayId = presentationDisplay.getDisplayId();
} catch (WindowManager.InvalidDisplayException ex) {
Log.w(TAG, "Couldn't show presentation! Display was removed in "
+ "the meantime.", ex);
mPresentation = null;
}
} else
Log.i(TAG, "No secondary display detected");
}
项目:ApkLauncher
文件:PresentationWithMediaRouterActivity.java
@Override
protected void onResume() {
// Be sure to call the super class.
super.onResume();
// Listen for changes to media routes.
mMediaRouter.addCallback(MediaRouter.ROUTE_TYPE_LIVE_VIDEO, mMediaRouterCallback);
// Update the presentation based on the currently selected route.
mPaused = false;
updatePresentation();
}
项目:Popeens-DSub
文件:JukeboxRouteProvider.java
@Override
public boolean onControlRequest(Intent intent, android.support.v7.media.MediaRouter.ControlRequestCallback callback) {
if (intent.hasCategory(CATEGORY_JUKEBOX_ROUTE)) {
return true;
} else {
return false;
}
}
项目:Popeens-DSub
文件:DLNARouteProvider.java
@Override
public boolean onControlRequest(Intent intent, android.support.v7.media.MediaRouter.ControlRequestCallback callback) {
if (intent.hasCategory(CATEGORY_DLNA)) {
return true;
} else {
return false;
}
}
项目:ApiDemos
文件:PresentationWithMediaRouterActivity.java
@Override
protected void onResume() {
// Be sure to call the super class.
super.onResume();
// Listen for changes to media routes.
mMediaRouter.addCallback(MediaRouter.ROUTE_TYPE_LIVE_VIDEO, mMediaRouterCallback);
// Update the presentation based on the currently selected route.
mPaused = false;
updatePresentation();
}
项目:ApiDemos
文件:PresentationWithMediaRouterActivity.java
private void updatePresentation() {
// Get the current route and its presentation display.
MediaRouter.RouteInfo route = mMediaRouter.getSelectedRoute(
MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
Display presentationDisplay = route != null ? route.getPresentationDisplay() : null;
// Dismiss the current presentation if the display has changed.
if (mPresentation != null && mPresentation.getDisplay() != presentationDisplay) {
Log.i(TAG, "Dismissing presentation because the current route no longer "
+ "has a presentation display.");
mPresentation.dismiss();
mPresentation = null;
}
// Show a new presentation if needed.
if (mPresentation == null && presentationDisplay != null) {
Log.i(TAG, "Showing presentation on display: " + presentationDisplay);
mPresentation = new DemoPresentation(this, presentationDisplay);
mPresentation.setOnDismissListener(mOnDismissListener);
try {
mPresentation.show();
} catch (WindowManager.InvalidDisplayException ex) {
Log.w(TAG, "Couldn't show presentation! Display was removed in "
+ "the meantime.", ex);
mPresentation = null;
}
}
// Update the contents playing in this activity.
updateContents();
}
项目:tribler-android
文件:VideoPlayerActivity.java
/**
* Add or remove MediaRouter callbacks. This is provided for version targeting.
*
* @param add true to add, false to remove
*/
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void mediaRouterAddCallback(boolean add) {
if(!LibVlcUtil.isJellyBeanMR1OrLater() || mMediaRouter == null) return;
if(add)
mMediaRouter.addCallback(MediaRouter.ROUTE_TYPE_LIVE_VIDEO, mMediaRouterCallback);
else
mMediaRouter.removeCallback(mMediaRouterCallback);
}
项目:Pink-Music
文件:Player.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private static void unregisterMediaRouter(Context context) {
final MediaRouter mr = (MediaRouter)context.getSystemService(MEDIA_ROUTER_SERVICE);
if (mediaRouterCallback != null && mr != null)
mr.removeCallback((MediaRouter.Callback)mediaRouterCallback);
mediaRouterCallback = null;
}
项目:EasyAndroid
文件:Managers.java
/**
* 返回 {@link MediaRouter}
*/
public static MediaRouter getMediaRouter()
{
return (MediaRouter) get(MEDIA_ROUTER_SERVICE);
}
项目:PresenterLite
文件:StandaloneDisplayActivity.java
public void onRoutePresentationDisplayChanged(MediaRouter router, RouteInfo info) {
updatePresentation();
}