Chromecast сбои при нажатии на значок приведения - PullRequest
0 голосов
/ 28 октября 2018

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

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

Привет, ребята, пытаясь добавить функцию 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 Ответ

0 голосов
/ 07 ноября 2018

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...