MediaSession在57中的開場白
最新
07-16
用技術提升美好事物發生的概率。Technologically,forgreaterprobabilitytobehappy.
DidPlay()中主要向Browser端發送了IPC消息,於是播放媒體的消息就傳給了Browser端了。代碼在renderer_webmediaplayer_delegate.cc裡面。下面的代碼就直接到Browser部分了。
這裡Browser端收到IPC消息後執行OnMediaPlaying(),此處看到203行,已經調用了MediaSessionControllersManager的RequestPlay(),後面部分開始已經到MediaSession的主體了。代碼在media_web_contents_observer.cc。
MediaSessionController:當我們在通知中對媒體進行操作時,Java端會發送消息過來,在Controller中收到後向Renderer發送IPC消息,控制Renderer裡面的WebMediaPlayer。
MediaSessionImpl:整個MediaSession的中心,處理所有媒體與通知有關的事項。主要是播放狀態與焦點狀態的控制。其中的NotifyAboutStateChange()提供了能否控制與是否暫停兩個狀態,這兩個值對控制播放的非常重要。能否控制表示我們是否能通過通知欄控制這個播放器,如果不能控制,則通知欄中不會出現。
MediaMetadataSanitizer:功能性的類,MediaMetadataSanitizer檢查與處理元數據格式的合理性,調用了Sanitize()。
TAG:樂正夢愛寵 |