player.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:pyatv 作者: postlund 项目源码 文件源码
def _wait_for_media_to_end(self, session):
        address = self._url(self.port, 'playback-info')
        play_state = const.PLAY_STATE_LOADING
        while True:
            info = None
            try:
                info = yield from session.get(address)
                data = yield from info.content.read()
                parsed = plistlib.loads(data)

                if play_state == const.PLAY_STATE_LOADING:
                    if 'duration' in parsed:
                        play_state = const.PLAY_STATE_PLAYING
                    elif 'readyToPlay' not in parsed:
                        play_state = const.PLAY_STATE_NO_MEDIA
                        break
                elif play_state == const.PLAY_STATE_PLAYING:
                    if 'duration' not in parsed:
                        play_state = const.PLAY_STATE_NO_MEDIA
                        break

            finally:
                if info is not None:
                    info.close()

            yield from asyncio.sleep(1, loop=self.loop)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号