Convert Figma logo to code with AI

Moriafly logoSaltPlayerSource

Salt Player (A local music player trusted and chosen by hundreds of thousands of users) for Android Release, Feedback.

4,934
135
4,934
429

Top Related Projects

A material designed music player for Android

7,034

Material Design Music Player

🎶🎼 Very slim music player 👨‍🎤 100% made in Italy 🍕🌳🌞🍝🌄

Quick Overview

SaltPlayerSource is an open-source music player application for Android devices. It is designed to provide a clean, intuitive interface for playing local music files, with a focus on simplicity and performance.

Pros

  • Clean and modern user interface
  • Support for various audio formats
  • Customizable themes and appearance
  • Lightweight and efficient performance

Cons

  • Limited online streaming capabilities
  • Fewer advanced features compared to some commercial music players
  • May not support all Android devices or versions

Code Examples

As SaltPlayerSource is an Android application project rather than a code library, code examples are not applicable in this context.

Getting Started

Since SaltPlayerSource is an Android application and not a code library, there are no specific code-based getting started instructions. However, users can follow these steps to use the application:

  1. Visit the project's GitHub repository: Moriafly/SaltPlayerSource
  2. Download the latest release APK file from the Releases section
  3. Install the APK on your Android device
  4. Grant necessary permissions for the app to access your device's storage
  5. Open the app and start enjoying your local music collection

Competitor Comparisons

A material designed music player for Android

Pros of Phonograph

  • More mature and established project with a larger user base
  • Extensive feature set including album artist support and tag editing
  • Well-documented codebase with clear architecture

Cons of Phonograph

  • Less frequent updates and maintenance
  • Heavier resource usage due to more complex features
  • Steeper learning curve for new contributors

Code Comparison

SaltPlayerSource (Kotlin):

class PlaylistAdapter(
    private val context: Context,
    private val playlists: List<Playlist>,
    private val onItemClickListener: OnItemClickListener
) : RecyclerView.Adapter<PlaylistAdapter.ViewHolder>() {
    // Implementation details
}

Phonograph (Java):

public class PlaylistAdapter extends RecyclerView.Adapter<PlaylistAdapter.ViewHolder> {
    private final AppCompatActivity activity;
    private List<Playlist> dataSet;
    private int itemLayoutRes;

    public PlaylistAdapter(AppCompatActivity activity, List<Playlist> dataSet, int itemLayoutRes) {
        // Constructor implementation
    }
}

Both projects use similar adapter patterns for playlists, but SaltPlayerSource utilizes Kotlin's concise syntax, while Phonograph uses Java. The Phonograph implementation includes an additional parameter for layout resource, potentially offering more flexibility in UI customization.

7,034

Material Design Music Player

Pros of Timber

  • More mature project with a larger user base and longer development history
  • Extensive feature set including equalizer, tag editor, and playlist management
  • Better documented codebase with clear contribution guidelines

Cons of Timber

  • Less active development in recent years compared to SaltPlayerSource
  • Larger codebase may be more complex to navigate for new contributors
  • Some reported issues with performance on newer Android versions

Code Comparison

SaltPlayerSource (Kotlin):

override fun onPlayFromMediaId(mediaId: String?, extras: Bundle?) {
    mediaId?.let {
        val songId = it.toLong()
        viewModelScope.launch {
            playSong(songId)
        }
    }
}

Timber (Java):

@Override
public void onPlayFromMediaId(String mediaId, Bundle extras) {
    long songId = Long.parseLong(mediaId);
    MusicPlayer.playAll(Collections.singletonList(songId), 0, false);
}

Both repositories implement similar functionality for playing media from a media ID, but SaltPlayerSource uses Kotlin coroutines for asynchronous execution, while Timber uses a more traditional Java approach.

🎶🎼 Very slim music player 👨‍🎤 100% made in Italy 🍕🌳🌞🍝🌄

Pros of Music-Player-GO

  • Lightweight and minimalist design, focusing on simplicity and ease of use
  • Open-source with a more active community and frequent updates
  • Supports Android 5.0 and above, offering wider device compatibility

Cons of Music-Player-GO

  • Limited advanced features compared to SaltPlayerSource
  • Lacks some customization options available in SaltPlayerSource
  • Does not support as many audio formats as SaltPlayerSource

Code Comparison

SaltPlayerSource (Kotlin):

override fun onPlaybackStateChanged(state: Int) {
    super.onPlaybackStateChanged(state)
    when (state) {
        PlaybackStateCompat.STATE_PLAYING -> startForeground()
        PlaybackStateCompat.STATE_PAUSED -> stopForeground(false)
    }
}

Music-Player-GO (Java):

@Override
public void onPlaybackStateChanged(PlaybackStateCompat state) {
    super.onPlaybackStateChanged(state);
    switch (state.getState()) {
        case PlaybackStateCompat.STATE_PLAYING:
            startForeground(NOTIFICATION_ID, buildNotification());
            break;
        case PlaybackStateCompat.STATE_PAUSED:
            stopForeground(false);
            break;
    }
}

Both repositories handle playback state changes similarly, but SaltPlayerSource uses Kotlin's more concise syntax, while Music-Player-GO uses Java. The core functionality remains the same, with both implementing foreground service management based on playback state.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Salt Player - A local music player trusted and chosen by hundreds of thousands of users

Select Language: 简体中文, Русский, Indonesia

Salt Player is a local music playback app. This repository is used for releasing new versions, collecting feedback, and posting announcements.

Download Channel

Android

Salt Player for Android requires Android 6.0 or higher and supports the arm64-v8a and armeabi-v7a architectures.

ChannelReleaseIntroduction⚠️ Note
Moriafly1. Github Release
2. CoolApk
Standard PackageThe release on Coolapk is available only for the arm64-v8a architecture.
Google PlayGoogle PlayGoogle Play Store Channel Package1. Supports dynamic distribution of the arm64-v8a and armeabi-v7a architectures.
2. The Google Play version is signed and released by Google, which makes it incompatible with the standard package.
3. Selects special stable releases or custom-built versions, following a different update strategy compared to the standard package.

Note: Please download this app from the official channels. Do not use installation files with unknown or unverified signatures.

Version (File) Naming Convention

For example, the APK filename 10.5.0.2-release-2024091902-moriafly-arm64-v8a has the following meaning:

TextRepresentIntroduction
10.5.0.2Version Name10 represents the major version, 5 represents the minor version, 0 represents the patch version, and 2 represents the emergency fix count (usually omitted if 0, for example, directly writing the version as 10.4.4).
releaseVersion Type1. The release represents a stable version, beta represents a public testing version, and alpha represents an internal testing version.
2. The release type is usually omitted, and alpha versions may also be publicly released but indicate lower stability.
3. Stability order: release > beta > alpha (subjective judgment may apply).
2024091902Version CodeThe version code of Salt Player for Android has specific meaning. For example, 2024091902 indicates that this version was built for the second time on September 19, 2024.
moriaflyChannel IDSee channel table.
arm64-v8aArchitectureSee channel table.

Windows

For details, see the SPW documentation.

Open Source Related

Salt UI UI Components for Compose Multiplatform (Android/Desktop/iOS).

Localization Adaptation

For details, see the Translations documentation.

System Adaptation

SystemFeaturesStatusDescription
Xiaomi MIUI/Hyper OSMi Magic Broadcast🟢 Support1. MIUI 12 or above is required to call the Mi Cast function, click the button in the upper right corner of the Salt Player playback screen to automatically jump.
2. This function is based on the relevant system components of Mi Screen Projection, if it is invalid, please check whether the related components are disabled.
CarWith🟢 SupportDecember 26, 2024 CarWith V3.3.6 support, thanks to Xiaomi official support.
Cover screen display (e.g. Mix Flip)🟢 Support
MIUI/Hyper OS widget🟠 Follow-upWaiting for development.
HUAWEI HarmonyOSMusic Control Center🔴 Not supportedWhitelist control and no adaptation documents found, contact and communication are fruitless.
vivo OriginOS/Funtouch OSJoviincar Smart Car🟢 Support1. August 29, 2024 vivo Smart Car V4.0.7.3 version adds support for Salt Player, thanks to users who have given feedback to vivo and vivo's official support.
2. The trial version, the lyrics display of joviincar is not supported for the time being (the adaptation method is not clear), and the lyrics can be simulated through the car Bluetooth lyrics.
Hi-Fi🔵 Manual1. Add settings put global game_support_hifi_list com.salt.music via adb.
2. Add Salt Player after entering the Hi-Fi list, go to System Settings > Sound & Vibration > Enable Hi-Fi.
3. Whether the device supports the Hi-Fi function, please go to the product page of vivo official website to understand.
Atomic Walkman🔴 Not supportedSuspected whitelist, no adaptation document found.
#749
OPPO ColorOSFluid Cloud🟢 SupportGrayscale testing will be carried out from November 4, 2024, thanks to OPPO's official support.
Meizu FlymeStatus bar lyrics🟢 Support
Dynamic Ring🔴 Not supportedSuspected whitelist, no adaptation document found.

Features That Are No Longer Maintained or Supported

FeatureDeprecation timeDescription
DSD Audio (.dsf/.dff)2024Considered an obsolete format, it is recommended to replace it with FLAC
For details, see Salt Player ends maintenance and support for DSD format.

Repository Contributors

Legal Information

Android is a trademark of Google LLC.

Android Robot is a re-creation or modification based on Google's original creation and shared achievements, and must comply with the terms of the Creative Commons Attribution 3.0 License.

Salt Player and 糖醋音乐 are registered trademarks of Xunxun Technology (Shanghai) Co., Ltd. in the People's Republic of China.

For more legal information, please refer to the software itself and related websites.