Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andylindebros/srplayer
https://github.com/andylindebros/srplayer
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/andylindebros/srplayer
- Owner: andylindebros
- Created: 2024-09-05T18:21:15.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-09T06:32:38.000Z (4 months ago)
- Last Synced: 2024-09-09T07:58:23.356Z (4 months ago)
- Language: Swift
- Size: 119 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SR Player
This app is an experiment utilizing the open API of SR and testing the AVPlayer. The project's goal is to list the available channels from SR in a view and play each channel individually from a detailed view. Additionally, it aims to implement a shared player on the list view for selected streams. The player should also support background playback and be controllable from the lock screen.## Design
I chose to use native SwiftUI views exclusively, adhering to the default SwiftUI design. Instead of incorporating custom design elements, I decided to utilize only the colors and images provided by the API.## Code optimization
I have formatted the code using the `SwiftFormat XCode extension`.## App Architecture
The app follows the MVVM pattern, featuring a channel list view and a channel detail view. Both views implement an instance of MediaPlayerView, which provides the media player functionality.
The app includes two services:
- SRService: Provides data from the API.
- AudioService: Manages the audio player.## Testing
Due to time constraints on this project, I decided to focus only to test ChannelListViewModel and the services.## Finding
The simulator appears to have a bug that prevents remote controls from appearing on the lock screen. To test the app's behavior on the lock screen, you need to run it on a physical device.Hope you like it!