Proyecto en Android Studio para realizar un Cast, reproduciendo un vídeo en el televisor que tiene conectado el Chromecast. En la interfaz para el smartphone se despliega un solo botón que sirve para reproducir o pausar el vídeo.
Agregar las siguientes dependencias en el archivo build.gradle de la app.
dependencies {
...
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.android.support:mediarouter-v7:19.0.+'
compile 'com.google.android.gms:play-services:6.1.11'
...
}
Al realizar este paso, tener en cuenta tener actualizados el paquete de Google Play Services y el de Google Repository, se pueden actualizar desde el SDK Manager, en el paquete de Extras (Para asegurarse de que esten bien actualizados, se pueden desistalar y luego volver a instalar dichos paquetes). Recordar que se trabajó con el con el API 21:
Clic derecho a la carpeta del proyecto "app", clic en "open module settings" y cambiar la configuración de la siguiente manera:
-
En la pestaña properties:
- Compile SDK version: API 21: Android 5.0 (Lollipop)
- Build Tools Version: 21.1.2
-
En la pestaña Flavors:
- Min Sdk Version: API 21: Android 5.0 (Lollipop)
- Target Sdk version: API 21: Android 5.0 (Lollipop)
</resources>
...
<string name="action_settings">Settings</string>
<string name="video_url"></string>
<string name="play_video"> Video</string>
<string name="pause_video">Pause Video</string>
<string name="resume_video">Resume Video</string>
<string name="video_title">VIDEO STREAM OF MP4 FILES IN CHROMECAST</string>
<string name="content_type_mp4">videos/mp4</string>
...
</resources>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".MainActivity">
<item android:id="@+id/action_settings" android:title="@string/action_settings"
android:orderInCategory="100" android:showAsAction="never" />
<item
android:id="@+id/media_route_menu_item"
android:title="Chromecast"
app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
app:showAsAction="always"/>
</menu>
Con esto, se podrá visualizar el botón que brinda la opción de hacer cast cuando hay un y que aparece cuando se detecta un dispositivo Chromecast en la red.
NOTA: Si la parte "android:showAsAction="never"" genera errores, darle clic derecho al error y darle a "desactivar revision"
En el layout de la activity principal (activity_main.xml), añade el botón.
<RelativeLayout ...>
...
<Button
android:id="@+id/button"
android:text="Play Video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
...
</RelativeLayout>
Esto nos dará como resultado lo siguiente: