【发布时间】:2014-08-04 07:06:29
【问题描述】:
我为我的 Android 音频流应用程序开发了与 Chromecast 的集成。对于接收器,我使用 Chromecast developer page 中描述的 Styled Media Receiver。大多数情况下一切正常,但是,在播放期间我没有收到来自 Cast 设备的 onStatusUpdated() 调用。当我启动媒体流时,它会开始播放并使用 IDLE MediaStatus 发送状态更新。一旦它开始播放,我就会收到一个带有 PLAYING MediaStatus 的 onStatusUpdated() 调用。在此之后,我没有收到任何更新,这意味着我无法使用音频剪辑的当前搜索位置更新我的应用程序 UI。
为了解决这个问题,我基本上每次获得 PLAYING MediaStatus 时都会运行 Runnable。这是伪代码:
public void onStatusUpdated() {
...
if (mMediaStatus == MediaStatus.PLAYER_STATE_PLAYING) {
mHandler.postDelayed(mUpdateProgressRunnable, 1000);
...
}
mUpdateProgressRunnable = new Runnable() {
@Override
public void run() {
if (mRemoteMediaPlayer != null && mApiClient != null) {
mRemoteMediaPlayer.requestStatus(mApiClient);
}
}
}
这是正确的方法吗?为什么接收器不自己发送更新?这似乎工作正常,但令我惊讶的是,我无法在网上找到任何有关正确方法的信息。
感谢任何帮助!谢谢。
【问题讨论】:
标签: android chromecast