All Projects → jeancsanchez → Jcplayer

jeancsanchez / Jcplayer

Licence: apache-2.0
🎵 A simple audio player for Android applications.

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to Jcplayer

Flutter Assetsaudioplayer
Play simultaneously music/audio from assets/network/file directly from Flutter, compatible with android / ios / web / macos, displays notifications
Stars: ✭ 458 (+119.14%)
Mutual labels:  audio, player, media, playlist, songs
Freemp
Free Media Player (FreeMp)
Stars: ✭ 97 (-53.59%)
Mutual labels:  audio, player, media, audio-player
Pandoraplayer
🅿️ PandoraPlayer is a lightweight music player for iOS, based on AudioKit and completely written in Swift.
Stars: ✭ 1,037 (+396.17%)
Mutual labels:  audio, player, media, radio
Fradioplayer
A simple radio player framework for iOS, macOS, tvOS.
Stars: ✭ 183 (-12.44%)
Mutual labels:  audio, player, radio, audio-player
Swift Radio Pro
Professional Radio Station App for iOS!
Stars: ✭ 2,644 (+1165.07%)
Mutual labels:  audio, player, radio, audio-player
React Native Jw Media Player
React-Native Android/iOS bridge for JWPlayer SDK (https://www.jwplayer.com/)
Stars: ✭ 76 (-63.64%)
Mutual labels:  audio, player, media
Sjmediacacheserver
A HTTP Media Caching Framework. It can cache FILE or HLS media. 音视频边播边缓存框架, 支持 HLS(m3u8) 和 FILE(mp4, mp3等).
Stars: ✭ 87 (-58.37%)
Mutual labels:  audio, player, media
Ktvhttpcache
A powerful media cache framework.
Stars: ✭ 2,113 (+911%)
Mutual labels:  audio, player, media
Poddycast
Podcast app made with Electron, lots of ❤️ and ☕️
Stars: ✭ 111 (-46.89%)
Mutual labels:  audio, player, playlist
Audioplayer
Audio Player for Nextcloud and ownCloud
Stars: ✭ 179 (-14.35%)
Mutual labels:  audio, player, playlist
Sbplayerclient
支持全格式的mac版视频播放器
Stars: ✭ 110 (-47.37%)
Mutual labels:  audio, player, audio-player
Stereo
A Flutter plugin for playing music on iOS and Android.
Stars: ✭ 66 (-68.42%)
Mutual labels:  library, audio, audio-player
Audioplayers
A Flutter plugin to play multiple audio files simultaneously (Android/iOS)
Stars: ✭ 1,042 (+398.56%)
Mutual labels:  audio, player, audio-player
React Cassette Player
Simple ReactJS HTML5 audio player component built with SVG icons from The Noun Project.
Stars: ✭ 93 (-55.5%)
Mutual labels:  audio, player, audio-player
React Jplayer
Html5 audio and video player library for React
Stars: ✭ 128 (-38.76%)
Mutual labels:  audio, media, audio-player
Lmmediaplayer
A video and audio player with replaceable UI component.
Stars: ✭ 183 (-12.44%)
Mutual labels:  audio, player, audio-player
Waveform Playlist
Multitrack Web Audio editor and player with canvas waveform preview. Set cues, fades and shift multiple tracks in time. Record audio tracks or provide audio annotations. Export your mix to AudioBuffer or WAV! Project inspired by Audacity.
Stars: ✭ 919 (+339.71%)
Mutual labels:  audio, audio-player, playlist
Libvlc Go
Go bindings for libVLC and high-level media player interface
Stars: ✭ 188 (-10.05%)
Mutual labels:  audio, player, media
React Player
A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion
Stars: ✭ 5,931 (+2737.8%)
Mutual labels:  audio, player, media
Xamarinmediamanager
Cross platform Xamarin plugin to play and control Audio and Video
Stars: ✭ 647 (+209.57%)
Mutual labels:  audio, player, media

A simple audio player for Android that you can plugin to your apps quickly get audio playback working.

New features

  • Raw files
  • Asset Files
  • Custom layout

Tested files

Not tested URLs

Support us

You can support us by becoming a patron on Patreon, any support is much appreciated.

Patreon

Gradle Dependency (Project level)

allprojects {
	repositories {
		jcenter()
	        maven { url "https://jitpack.io" }
	    }
	}

Gradle Dependency (Module level)

dependencies {
    // ... other dependencies
     implementation 'com.github.jeancsanchez:JcPlayer:{version}'
}

Getting Started

You only need a JcPlayerView on your Layout Activity/Fragment. All the controls and everything else are created by the player view itself.

<com.example.jean.jcplayer.view.JcPlayerView
    android:id="@+id/jcplayer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

Code Setup

Find your JcPlayerView xml and...

    jcplayerView = (JcPlayerView) findViewById(R.id.jcplayerView);

Option 1: Just init a playlist

    ArrayList<JcAudio> jcAudios = new ArrayList<>();
    jcAudios.add(JcAudio.createFromURL("url audio","http://xxx/audio.mp3"));
    jcAudios.add(JcAudio.createFromAssets("Asset audio", "audio.mp3"));
    jcAudios.add(JcAudio.createFromRaw("Raw audio", R.raw.audio));

    jcplayerView.initPlaylist(jcAudios, null);

Option 2: Initialize an anonymous playlist with a default title for all

    jcplayerView.initAnonPlaylist(jcAudios);

Option 3: Initialize an playlist with a custom title for all

    jcplayerView.initWithTitlePlaylist(urls, "Awesome music");

Call the notification player where you want.

    jcplayerView.createNotification(); // default icon

OR

    jcplayerView.createNotification(R.drawable.myIcon); // Your icon resource

How can I get callbacks of player status?

    MyActivity implements JcPlayerManagerListener {
        ....
        jcplayerView.setJcPlayerManagerListener(this);
        // Just be happy :D
 }

Custom layout

You can customize the player layout by manipulating these attributes.

        app:next_icon
	app:next_icon_color
	app:pause_icon
	app:pause_icon_color
	app:play_icon
	app:play_icon_color
	app:previous_icon
	app:previous_icon_color
	app:progress_color
	app:random_icon_color
	app:repeat_icon
	app:repeat_icon_color
	app:seek_bar_color
	app:text_audio_current_duration_color
	app:text_audio_duration_color
	app:text_audio_title_color

Please, if you liked this project or help you to do your job, support me by being a sponsor <3

TODO LIST

  • [x] Set custom layouts for player.
  • [ ] Add Instrumentation tests
  • [ ] Add unit tests.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].