Chromecast сбои при нажатии на значок

******Редактировать*****

Нужен ли мне специальный ресивер? если да, куда я могу загрузить его?

Привет, ребята, пытаясь добавить функцию Chromecast для моего приложения Android. Я следовал учебному руководству по кодам со страницы разработчика Googles, и мне удалось заставить его работать, используя там тестовое приложение. но когда я пытаюсь скопировать код из тестового приложения в мое собственное приложение, у меня появляется возможность подключиться к моему тестовому устройству. но как только он подключается, он просто сбрасывает мой Chromecast. затем снова отключается.

это мой класс CastOptionProvider

public final class CastOptionsProvider implements OptionsProvider {




@Override
public CastOptions getCastOptions(Context context) {
    return new CastOptions.Builder()
            .setReceiverApplicationId(context.getString(R.string.app_id))
            .build();
}

public List<SessionProvider> getAdditionalSessionProviders(Context context) {
    return null;
}
}

это мои действия XML, которые я хочу иметь поддержку Chromecast

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="studios.p9p.harrop99.p9pdocumentaries.Actual_Genres.Taboo">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

деятельность Java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_taboo);
    setupActionBar();
    mCastContext = CastContext.getSharedInstance(this);
}

 private void setupActionBar() {
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setTitle("Taboo");
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
private MenuItem mediaRouteMenuItem;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    getMenuInflater().inflate(R.menu.browse, menu);
    mediaRouteMenuItem = CastButtonFactory.setUpMediaRouteButton(getApplicationContext(), menu, R.id.media_route_menu_item);
    return true;
}

я знаю, что учебное пособие еще не завершено, но к этому моменту в учебном пособии я могу подключиться к своему испытательному устройству и на моем экране появится логотип. но в моем собственном приложении он сбрасывает мой Chromecast и на самом деле не подключается.. также у меня есть спикер Google, который в учебнике предложит подключиться к этому. это даже не отображается в моем приложении.

кто-нибудь может мне помочь, пожалуйста

вот ссылка на туториал

1 ответ

Решение

Исправлена ​​эта проблема, это было то, что мне нужно было добавить пользовательский приемник на мой сервер. это сбой, потому что я пытался использовать базовый базовый Reciever от Googles dev page. базовый приемник допускает только потоки mp4 и прямые источники видео. Но поскольку я использую потоки YouTube, мне пришлось использовать пакет из GitHub. это включало пользовательский приемник для загрузки.

базовый учебник, который я использовал, можно найти здесь.

и его GitHub можно найти здесь GitHub пакет и пример приложения

я также хочу поблагодарить Пьера Франческософфритти за всю тяжелую работу, которую он вложил в это

Другие вопросы по тегам