>获取设备
获取您的
device whitelisted(您将需要设备序列号#和您的HTML5接收器的URL)
>你将被发送两个APPID(开发/生产)
>在您的开发环境中,请确保更新到Android支持库v18
>你将使用
MediaRouter
>初始化
import com.google.cast.CastContext;
Context applicationContext = …; CastContext castContext = new
CastContext(applicationContext);
>你需要一个MediaRouteButton
< android.support.v7.app.MediaRouteButton
android:id="@+id/media_route_button"
android:mediaRouteTypes="user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible" />
import com.google.cast.CastContext;
import com.google.cast.CastDevice;
import com.google.cast.MediaRouteAdapter;
import com.google.cast.MediaRouteHelper;
import com.google.cast.MediaRouteStateChangeListener;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.MediaRouteButton;
import android.support.v7.media.MediaRouteSelector;
import android.support.v7.media.MediaRouter;
import android.support.v7.media.MediaRouter.RouteInfo;
public class MyCastActivity extends FragmentActivity implements MediaRouteAdapter {
private MediaRouteButton mMediaRouteButton;
private MediaRouter mMediaRouter;
private MediaRouteSelector mMediaRouteSelector;
private MediaRouter.Callback mMediaRouterCallback;
private CastDevice mSelectedDevice;
private MediaRouteStateChangeListener mRouteStateListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_cast_activity);
mMediaRouteButton = (MediaRouteButton) findViewById(R.id.media_route_button);
>构造一个CastContext.
mCastContext = new CastContext(getApplicationContext());
– 通过调用注册MinimalCastMediaRouteProvider
MediaRouteHelper.registerMinimalMediaRouteProvider(),传递
实现MediaRouteAdapter接口的对象.
MediaRouteHelper.registerMinimalMediaRouteProvider(mCastContext, this);
mMediaRouter = MediaRouter.getInstance(getApplicationContext());
通过调用构建MediaRouteSelector
MediaRouteHelper.buildMediaRouteSelector().有两种形式
这个方法:第一个没有参数,第二个需要一个
接收机应用程序名称和/或消息协议列表.这个
后一种形式用于执行与之相当的设备过滤
由SDK的ApplicationSupportFilterListener完成.
mMediaRouteSelector = MediaRouteHelper.buildMediaRouteSelector( MediaRouteHelper.CATEGORY_CAST);
>将MediaRouteSelector分配给MediaRouteButton.
mMediaRouteButton.setRouteSelector(mMediaRouteSelector);
>实现MediaRouter.Callback并将其添加到MediaRouter中,
将CALLBACK_FLAG_REQUEST_DISCOVERY传递给MediaRouter
发起发现当用户选择或取消选择路由时
GUI选择器,这个回调接口上的相应方法会
被调用.
06007
>在MediaRouter.Callback的onRouteSelected()回调中,进行调用
到MediaRouteHelper.requestCastDeviceForRoute()获取一个
所选媒体路由的CastDevice对象,以及
MediaRouteStateChangeListener,每当需要收到通知
路线体积或连接状态变化.
06008
}