簡體   English   中英

觸發 Google Assistant 命令時如何獲取回調?

[英]How can I get the callback when Google Assistant command is triggered?

我有一個啟用了 Exoplayer Media Session 的 Android cordova 應用程序,播放器在使用 Google 助理在 AndroidTV 上搜索后沒有恢復。

因此,我嘗試將playWhenReady保存在本地屬性wasPlaying中的dispatchSetPlayWhenReady (打開 Google Assistant 時調用)上,以檢查它是否應該在搜索后恢復(如果之前播放過)。

private class MyControlDispatcher implements ControlDispatcher {

        private boolean wasPlaying = false;

        @Override
        public boolean dispatchSetPlayWhenReady(Player player, boolean playWhenReady) {
            this.wasPlaying = player.getPlayWhenReady();
            player.setPlayWhenReady(playWhenReady);
            return true;
        }

        @Override
        public boolean dispatchSeekTo(Player player, int windowIndex, long positionMs) {
            if (this.wasPlaying) {
                player.setPlayWhenReady(true);
            }

            player.seekTo(windowIndex, positionMs);
            return true;
        }

        ...

    }
MyControlDispatcher myControlDispatcher = new MyControlDispatcher();
MediaSessionConnector mediaSessionConnector = new MediaSessionConnector(mediaSession);
mediaSessionConnector.setControlDispatcher(myControlDispatcher);

這解決了最初的問題,但是當用戶暫停然后搜索時,我遇到了一個問題,兩者都使用 Google Assistant。 當用戶調用PAUSE命令(打開助手時在dispatchSetPlayWhenReady上)時,它會將wasPlaying保存為true ,並在不應該搜索時恢復。

所以基本上我需要以某種方式從谷歌助手獲取PAUSE命令回調,以便我可以區分打開助手時調用的dispatchSetPlayWhenReady 並保證當用戶調用PAUSE命令時將wasPlaying設置為false並防止其在搜索后恢復。

我想你可能會處理這些 MediaSessionCompat 的回調:

mMediaSessionCompat.setCallback(new MediaSessionCompat.Callback() {
            @Override
            public void onPrepare() {
                super.onPrepare();
            }

            @Override
            public void onPrepareFromSearch(String query, Bundle extras) {
                super.onPrepareFromSearch(query, extras);
            }

            @Override
            public void onPrepareFromMediaId(String mediaId, Bundle extras) {
                super.onPrepareFromMediaId(mediaId, extras);d
            }
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM