gpt4 book ai didi

android - RemotePlaybackClient,stop() 没有得到回调

转载 作者:IT王子 更新时间:2023-10-28 23:46:14 25 4
gpt4 key购买 nike

我正在尝试写一个 RemotePlaybackClient示例应用程序,部分原因是 the one published by Google crashes aapt .

我可以得到 RemotePlaybackClient支持play() ,并在 Chromecast 上播放视频。

但是,当我调用 stop() 时, 来停止视频的播放,而 Chromecast 确实会停止播放(显示黑屏,中间有一个转换图标),SessionActionCallback我传入 stop()调用不会被 onResult() 调用:

  private void stop() {
logToTranscript(getActivity().getString(R.string.stop_requested));

SessionActionCallback stopCB=new SessionActionCallback() {
@Override
public void onResult(Bundle data, String sessionId,
MediaSessionStatus sessionStatus) {
logToTranscript(getActivity().getString(R.string.stopped));
isPlaying=false;
isPaused=false;
getActivity().supportInvalidateOptionsMenu();
endSession();
}
};

client.stop(null, stopCB);
}

如果我尝试 pause() 也会发生同样的事情-- SessionActionCallback传递给 pause()没有被调用。

The sample code published by Google表明应该调用这些回调,但是,我还是无法成功编译。

有谁知道在什么情况下SessionActionCallback不起作用,而 ItemActionCallbackplay() 一起使用工作吗?

更新

我已提交 issue 66996issue 67032 ,后者正是我在这里看到的问题,因为我在官方示例应用程序中遇到了同样的问题。

最佳答案

我相信所有答案都取决于您如何建立联系。因为在谷歌代码中,代码表示您创建的客户端不会离开 session 并且不应该为空。

if (!mClient.hasSession()) {
// ignore if no session
return;
}

/*********其余代码将无法访问***********/

@Override
public void pause() {
if (!mClient.hasSession()) {
// ignore if no session
return;
}
if (DEBUG) {
Log.d(TAG, "pause");
}
mClient.pause(null, new SessionActionCallback() {
@Override
public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus) {
logStatus("pause: succeeded", sessionId, sessionStatus, null, null);
if (mCallback != null) {
mCallback.onPlaylistChanged();
}
}
@Override
public void onError(String error, int code, Bundle data) {
logError("pause: failed", error, code);
}
});
}

关于android - RemotePlaybackClient,stop() 没有得到回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22330988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com