Audiofy 2.0: Enhancing Playback, Local Storage, and Queue Features
Past due by about 1 year
75% complete
In this milestone, I aim to enhance the playback, local storage, and queue features of Audiofy. I want to improve the user experience and performance of my app by adding new features and fixing some issues. Here are the main tasks that I plan to do in this milestone:
- Add a way to get audioSessionId from Playback. This will allow me to communicate the aud…
In this milestone, I aim to enhance the playback, local storage, and queue features of Audiofy. I want to improve the user experience and performance of my app by adding new features and fixing some issues. Here are the main tasks that I plan to do in this milestone:
- Add a way to get audioSessionId from Playback. This will allow me to communicate the audio session to UI and connect the playback with external equalizers and other audio effects.
- Add a way to delete local audio file persistently. This will enable the user to remove unwanted or duplicate audio files from their local storage and free up some space.
- Add a way to map playlist index with shuffled index and vice-versa in Remote. This will make it easier for the user to navigate and control the playback order of their playlist, especially when they use the shuffle mode.
- Add Sleep Timer. This will allow the user to set a timer for the app to stop playing after a certain period of time, which can be useful for listening to music or podcasts before sleeping or relaxing.
- Improve properties panel by utilizing the MediaMetaDataClass. This will enhance the display and editing of the metadata of the audio files, such as title, artist, album, genre, etc.
- Improve PlayingQueue further by adding queue duration, clear queue, etc. This will provide more information and functionality to the user regarding their playing queue, such as the total duration of the queue, the option to clear the queue, and so on.
- Move away from getting shuffled index using reflection. This will improve the performance and reliability of the app by avoiding using reflection, which can be slow and risky.
- Try to handle launch intent uri with same uri without fetching corresponding file from LocalStorage. This will optimize the app's behavior when launching from an intent uri that is already playing in the app, by avoiding fetching the same file again from the local storage.
- Add min duration constraint for fetching file from local storage. This will filter out any audio files that are too short or invalid from being fetched and played by the app, which can improve the quality and consistency of the playback.
- Add a way to avoid accessing folders that user has restricted. This will respect the user's privacy and preferences by not accessing any folders that they have denied permission or access to.
I hope this description gives you an overview of what I want to achieve in this milestone. I welcome any feedback or suggestions that you may have. 😊