288 字
1 分钟
平台支持
平台支持
React Native Track Player 在不同平台上支持的功能有所差异。本文档详细列出了各平台支持的特性对比,帮助您了解在开发过程中需要注意的平台限制。
音频源支持
| 特性 | Android | iOS | Web |
|---|---|---|---|
| App bundle1 | ✅ | ✅ | ✅ |
| Network | ✅ | ✅ | ✅ |
| File System2 | ✅ | ✅ | ❌ |
1: 使用 require 或 import
2: 文件路径需要以 file:/// 为前缀
流类型支持
| 特性 | Android | iOS | Web |
|---|---|---|---|
| Regular Streams | ✅ | ✅ | ✅ |
| DASH | ✅ | ❌ | ✅ |
| HLS | ✅ | ✅ | ✅ |
| SmoothStreaming | ✅ | ❌ | ❌ |
投射功能支持
| 特性 | Android | iOS | Web |
|---|---|---|---|
| Google Cast1 | ✅ | ❌ | ❌ |
| Miracast/DLNA | ❌ | ❌ | ❌ |
| AirPlay | ❌ | ❌ | ❌ |
1: Google Cast 支持已移至 react-native-track-casting (WIP),可与 react-native-track-player 结合使用
其他功能支持
| 特性 | Android | iOS | Web |
|---|---|---|---|
| Media Controls | ✅ | ✅ | ❌ |
| Caching | ✅ | ❌ | ❌ |
| Background Mode1 | ✅ | ✅ | ❌ |
1: 详情请参考《背景模式》文档
函数支持
| 函数 | Android | iOS | Web |
|---|---|---|---|
| setupPlayer | ✅ | ✅ | ✅ |
| updateOptions | ✅ | ✅ | ✅ |
| registerPlaybackService | ✅ | ✅ | ✅ |
| addEventListener | ✅ | ✅ | ✅ |
| play | ✅ | ✅ | ✅ |
| pause | ✅ | ✅ | ✅ |
| reset | ✅ | ✅ | ✅ |
| setVolume | ✅ | ✅ | ✅ |
| getVolume | ✅ | ✅ | ✅ |
| setRate | ✅ | ✅ | ✅ |
| getRate | ✅ | ✅ | ✅ |
| seekTo | ✅ | ✅ | ✅ |
| getPosition | ✅ | ✅ | ✅ |
| getBufferedPosition | ✅ | ✅ | ✅ |
| getDuration | ✅ | ✅ | ✅ |
| getState | ✅ | ✅ | ✅ |
| getQueue | ✅ | ✅ | ✅ |
| getCurrentTrack | ✅ | ✅ | ✅ |
| getTrack | ✅ | ✅ | ✅ |
| add | ✅ | ✅ | ✅ |
| remove | ✅ | ✅ | ✅ |
| skip | ✅ | ✅ | ✅ |
| skipToPrevious | ✅ | ✅ | ✅ |
| skipToNext | ✅ | ✅ | ✅ |
| removeUpcomingTracks | ✅ | ✅ | ✅ |
事件支持
| 事件 | Android | iOS | Web |
|---|---|---|---|
| remote-play | ✅ | ✅ | ❌ |
| remote-play-id | ✅ | ❌ | ❌ |
| remote-play-search | ✅ | ❌ | ❌ |
| remote-pause | ✅ | ✅ | ❌ |
| remote-stop | ✅ | ✅ | ❌ |
| remote-skip | ✅ | ❌ | ❌ |
| remote-next | ✅ | ✅ | ❌ |
| remote-previous | ✅ | ✅ | ❌ |
| remote-seek | ✅ | ✅ | ❌ |
| remote-set-rating | ✅ | ❌ | ❌ |
| remote-jump-forward | ✅ | ✅ | ❌ |
| remote-jump-backward | ✅ | ✅ | ❌ |
| remote-duck | ✅ | ✅ | ❌ |
| playback-state | ✅ | ✅ | ✅ |
| playback-track-changed | ✅ | ✅ | ✅ |
| playback-queue-ended | ✅ | ✅ | ✅ |
| playback-error | ✅ | ✅ | ✅ |
| playback-metadata-received | ✅ | ✅ | ❌ |
注意事项
-
Web 平台限制:
- 不支持文件系统音频源
- 不支持媒体控制和后台模式
- 不支持某些流类型(如 SmoothStreaming)
-
iOS 平台限制:
- 不支持 DASH 和 SmoothStreaming
- 不支持缓存功能
- 不支持某些远程事件
-
Android 平台:
- 几乎支持所有功能
- Google Cast 支持需使用单独的库
在开发跨平台应用时,请特别注意这些平台差异,确保您的应用在所有目标平台上都能正常工作。