MediaPlayer、MediaSessionCompat 和 RemotePlaybackClient 之间有什么区别

What are the differences between MediaPlayer, MediaSessionCompat and RemotePlaybackClient

我已经搜索了好几天,但我仍然无法理解它们在功能上究竟有何不同,以及它们各自在媒体播放中扮演什么角色?如果有人能解释其中的区别,那将非常有帮助。

how exactly these differ in functionality

这类似于询问铲子、锤子和绳子在功能上有何不同。虽然所有这些都可以被视为工具,但在大多数用例中它们并不是真正的相互替代品。

what role does each of them play in Media Playback?

MediaPlayer 在 Android 设备上播放媒体(音频和视频,来自本地或流媒体源)。

RemotePlaybackClient 指示其他一些硬件播放媒体。典型的例子是使用 RemotePlaybackClient 告诉 Chromecast 播放视频。

虽然我没有处理 MediaSession(或 MediaSessionCompat),但它似乎将您的媒体播放逻辑与应用外部的媒体控制器联系在一起,例如 a Notification.MediaStyle notification (to control media playback from the Android 5.0+ lockscreen), Android Auto,等等