flutter music player application. (仿网易云音乐)

Last update: Aug 8, 2022

Quiet

CI codecov

仿网易云音乐, 支持全平台。

A Universal copy app of NeteaseMusic

How to start (如何开始)

  1. clone project to local
git clone https://github.com/boyan01/flutter-netease-music.git 
  1. install Flutter

    • require latest flutter master channel.
  2. build & run

flutter run --profile

Linux requirement.

debian:

sudo apt-get install vlc
sudo apt-get install libvlc-dev

Dependency backend

Desktop Preview

light dark
playlist playlist
playing playing

Mobile Platforms Preview

main_playlist main_cloud main_cloud artist_detail
playlist_detail playing search
music_selection playlist_selector 每日推荐
ios ios

GitHub

https://github.com/boyan01/flutter-netease-music
Comments
  • 1. Running error

    Thanks for your work!

    When i'm try to run your project it get message like below No implementation found for method encrypt on channel tech.soit.netease/crypto

    please help me .

    thanks again.

    Reviewed by phuongphally at 2018-12-04 02:55
  • 2. com.android.tools.build:gradle:4.1.2编译不通过PlayQueue.kt

    这个使用classpath "com.android.tools.build:gradle:4.1.2 会出现这个问题,如果使用classpath 'com.android.tools.build:gradle:3.5.3' 版本可以编译成功,看能不能解决,因为很多插件要求在4+以上的gradle才能编译成功

    e: /Users/tangzhaohui/anziyihao/music_service/android/src/main/kotlin/tech/soit/quiet/player/PlayQueue.kt: (182, 19): Java type mismatch expected (Mutable)List<(raw) Any?>! but found MutableList<MusicItem /* = MusicMetadata />. Use explicit cast e: /Users/tangzhaohui/anziyihao/music_service/android/src/main/kotlin/tech/soit/quiet/player/PlayQueue.kt: (184, 19): Java type mismatch expected (Mutable)List<(raw) Any?>! but found kotlin.collections.ArrayList / = java.util.ArrayList /. Use explicit cast e: /Users/tangzhaohui/anziyihao/music_service/android/src/main/kotlin/tech/soit/quiet/player/PlayQueue.kt: (191, 29): Java type mismatch expected (Mutable)List<(raw) Any?>! but found MutableList<MusicItem / = MusicMetadata */>. Use explicit cast e: /Users/tangzhaohui/anziyihao/music_service/android/src/main/kotlin/tech/soit/quiet/player/PlayQueue.kt: (195, 17): Java type mismatch expected (Mutable)Map<(raw) Any?, (raw) Any?>! but found MutableMap<String, Any>. Use explicit cast e: /Users/tangzhaohui/anziyihao/music_service/android/src/main/kotlin/tech/soit/quiet/player/PlayQueue.kt: (199, 57): Java type mismatch expected (Mutable)List<(raw) Any?>! but found MutableList. Use explicit cast

    FAILURE: Build failed with an exception.

    • What went wrong:
      Execution failed for task ':music_player:compileReleaseKotlin'.

    Compilation error. See log for more details

    • Try:
      Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 3m 0s

    Reviewed by 98dsky at 2021-03-05 06:11
  • 3. Get dependencies报错

    Because every version of flutter_test from sdk depends on meta 1.3.0 and json_annotation >=4.1.0 depends on meta ^1.4.0, flutter_test from sdk is incompatible with json_annotation >=4.1.0. So, because quiet depends on both json_annotation ^4.1.0 and flutter_test any from sdk, version solving failed. pub get failed (1; So, because quiet depends on both json_annotation ^4.1.0 and flutter_test any from sdk, version solving failed.)

    本地装的Flutter SDK为2.2版本

    Reviewed by luyuan2002 at 2021-07-24 04:40
  • 4. 我在run项目是遇到了这个问题

    Launching lib/main.dart on iPhone 11 Pro in debug mode...

    Running pod install... 1.8s CocoaPods' output: ↳ Preparing

    Analyzing dependencies
    
    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target
      `Pods-Runner`: (``)
    
    Fetching external sources
    -> Fetching podspec for `Flutter` from `.symlinks/flutter/ios`
    -> Fetching podspec for `music_player` from
    `.symlinks/plugins/music_player/ios`
    [!] No podspec found for `music_player` in
    `.symlinks/plugins/music_player/ios`
    
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ext
    ernal_sources/path_source.rb:14:in `block in fetch'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/use
    r_interface.rb:64:in `section'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ext
    ernal_sources/path_source.rb:11:in `fetch'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ins
    taller/analyzer.rb:901:in `fetch_external_source'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ins
    taller/analyzer.rb:880:in `block (2 levels) in
    fetch_external_sources'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ins
    taller/analyzer.rb:879:in `each'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ins
    taller/analyzer.rb:879:in `block in fetch_external_sources'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/use
    r_interface.rb:64:in `section'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ins
    taller/analyzer.rb:878:in `fetch_external_sources'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ins
    taller/analyzer.rb:117:in `analyze'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ins
    taller.rb:410:in `analyze'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ins
    taller.rb:234:in `block in resolve_dependencies'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/use
    r_interface.rb:64:in `section'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ins
    taller.rb:233:in `resolve_dependencies'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/ins
    taller.rb:156:in `install!'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/com
    mand/install.rb:52:in `run'
    /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.r
    b:334:in `run'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/lib/cocoapods/com
    mand.rb:52:in `run'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.8.4/bin/pod:55:in
    `<top (required)>'
    /usr/local/bin/pod:23:in `load'
    /usr/local/bin/pod:23:in `<main>'
    

    Error running pod install Error launching application on iPhone 11 Pro.

    Reviewed by 15128238220 at 2019-12-10 05:49
  • 5. update dependencies and fix null error

    🛠 Fix following building error:

    Error: Property 'window' cannot be accessed on 'WidgetsBinding?' because it is potentially null. Try accessing using ?. instead. devicePixelRatio: WidgetsBinding.instance.window.devicePixelRatio,

    Error: Method 'scheduleFrameCallback' cannot be called on 'WidgetsBinding?' because it is potentially null. Try calling using ?. instead. WidgetsBinding.instance.scheduleFrameCallback((_) {

    Reviewed by yzhe819 at 2022-02-27 22:47
  • 6. 报错!!

    报错!!

    Could not find a file named "pubspec.yaml" in "C:\Users\RoverCcc\flutter-netease-music\music_service".

    pub get failed (66; Could not find a file named "pubspec.yaml" in "C:\Users\RoverCcc\flutter-netease-music\music_service".)

    Reviewed by RoverCcc at 2021-04-05 23:13
  • 7. 冒昧请教个问题,使用的audioplayers库播放音乐,安卓端息屏后播放大概15分钟会自动暂停

    你好,不好意思,在这里提了个issue,实际上这个问题和此项目不相关,我这两周也在学习flutter,做了个本地音乐播放器,用的库是audioplayers,播放音乐后,我把屏幕关闭,会一直播放,但是播放大概15分钟后,会自动暂停,我在想是不是安卓的机制问题(ios还没设备测试),需要用类似audio_service等库在后台播放,感谢你的回复。

    PS:如果你觉得冒犯了你,可随时关闭这个issue,谢谢。

    Reviewed by huangcs427 at 2022-03-01 02:03
  • 8. 编译不通过

    报错信息:

    e: D:\workspace\flutter\flutter-netease-music\music_service\android\src\main\kotlin\tech\soit\quiet\player\PlayQueue.kt: (182, 19): Java type mismatch expected (Mutable)List<(raw) Any?>! but found MutableList<MusicItem /* = MusicMetadata />. Use explicit cast e: D:\workspace\flutter\flutter-netease-music\music_service\android\src\main\kotlin\tech\soit\quiet\player\PlayQueue.kt: (184, 19): Java type mismatch expected (Mutable)List<(raw) Any?>! but found kotlin.collections.ArrayList / = java.util.ArrayList /. Use explicit cast e: D:\workspace\flutter\flutter-netease-music\music_service\android\src\main\kotlin\tech\soit\quiet\player\PlayQueue.kt: (191, 29): Java type mismatch expected (Mutable)List<(raw) Any?>! but found MutableList<MusicItem / = MusicMetadata */>. Use explicit cast e: D:\workspace\flutter\flutter-netease-music\music_service\android\src\main\kotlin\tech\soit\quiet\player\PlayQueue.kt: (195, 17): Java type mismatch expected (Mutable)Map<(raw) Any?, (raw) Any?>! but found MutableMap<String, Any>. Use explicit cast e: D:\workspace\flutter\flutter-netease-music\music_service\android\src\main\kotlin\tech\soit\quiet\player\PlayQueue.kt: (199, 57): Java type mismatch expected (Mutable)List<(raw) Any?>! but found MutableList. Use explicit cast

    环境:

    Flutter 1.23.0-18.0.pre • channel dev • https://github.com/flutter/flutter.git Framework • revision 37ebe3d82a (3 days ago) • 2020-10-13 10:52:23 -0700 Engine • revision 6634406889 Tools • Dart 2.11.0 (build 2.11.0-213.0.dev)

    win10

    Reviewed by eren000 at 2020-10-16 09:34
  • 9. 退出应用,再进就一直卡在欢迎页,报错信息如下

    I/ExoPlayerImpl(30023): Init 533565a [ExoPlayerLib/2.10.1] [dipper, MI 8, Xiaomi, 28] E/flutter (30023): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: SocketException: Failed to create server socket (OS Error: The shared flag to bind() needs to be true if binding multiple times on the s ame (address, port) combination.), address = localhost, port = 3000 E/flutter (30023): #0 _NativeSocket.bind (dart:io-patch/socket_patch.dart:605) E/flutter (30023): E/flutter (30023): #1 _RawServerSocket.bind (dart:io-patch/socket_patch.dart:1222) E/flutter (30023): #2 _ServerSocket.bind (dart:io-patch/socket_patch.dart:1482) E/flutter (30023): #3 ServerSocket.bind (dart:io-patch/socket_patch.dart:1473) E/flutter (30023): #4 _HttpServer.bind (dart:_http/http_impl.dart:2590) E/flutter (30023): #5 HttpServer.bind (dart:_http:227) E/flutter (30023): #6 startServer (package:netease_music_api/netease_cloud_music.dart:23) E/flutter (30023): #7 main (package:quiet/main.dart:26) E/flutter (30023): #8 _runMainZoned.. (dart:ui/hooks.dart:229) E/flutter (30023): #9 _rootRun (dart:async/zone.dart:1124) E/flutter (30023): #10 _CustomZone.run (dart:async/zone.dart:1021) E/flutter (30023): #11 _runZoned (dart:async/zone.dart:1516) E/flutter (30023): #12 runZoned (dart:async/zone.dart:1500) E/flutter (30023): #13 _runMainZoned. (dart:ui/hooks.dart:221) E/flutter (30023): #14 _startIsolate. (dart:isolate-patch/isolate_patch.dart:305) E/flutter (30023): #15 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172) E/flutter (30023): D/MusicPlayerService$MediaControllerCallback(30023): (MusicPlayerService.kt:280)MusicPlayerService$MediaControllerCallback.onMetadataChanged: onMetadataChanged : null D/MusicPlayerService(30023): (MusicPlayerService.kt:261)MusicPlayerService.onGetRoot: on get root : / D/MusicPlayerPlugin$connectCallback$1(30023): (MusicPlayerPlugin.kt:61)MusicPlayerPlugin$connectCallback$1.onConnected: connected , [email protected]0 I/AlarmService(30023): setBackgroundFlutterView tried to overwrite an existing FlutterNativeView

    Reviewed by cxmmxc at 2019-09-26 06:14
  • 10. flutter run --profile (it show message below)

    Compiler message:
    cloud_music_api/lib/src/util/request.dart:117:51: Error: The argument type 'Utf8Decoder' can't be assigned to the parameter type 'StreamTransformer<Uint8List, dynamic>'.

    • 'Utf8Decoder' is from 'dart:convert'.
    • 'StreamTransformer' is from 'dart:async'.
    • 'Uint8List' is from 'dart:typed_data'.
      Try changing the type of the parameter, or casting the argument to 'StreamTransformer<Uint8List, dynamic>'. final content = await response.transform(utf8.decoder).join();
      ^
      Compiler terminated unexpectedly.
      Running Gradle task 'assembleProfile'...
      Running Gradle task 'assembleProfile'... Done 9.4s Gradle task assembleProfile failed with exit code 1
    Reviewed by Nak9009 at 2019-07-29 09:46
  • 11. Failed to build the linux desktop version

    SDK:

    • Flutter 2.9.0-1.0.pre.140 • channel master • https://github.com/flutter/flutter.git
    • Framework • revision d571257a99 (71 minutes ago) • 2021-12-21 02:44:10 +0100
    • Engine • revision 8fabdda44d
    • Tools • Dart 2.16.0 (build 2.16.0-122.0.dev) • DevTools 2.9.1

    Output:

    Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
    Downloading package sky_engine...                                  833ms
    Downloading flutter_patched_sdk tools...                           525ms
    Downloading flutter_patched_sdk_product tools...                   377ms
    Downloading linux-x64 tools...                                   2,292ms
    Downloading linux-x64/font-subset tools...                         162ms
    Downloading linux-x64/linux-x64-flutter-gtk tools...                4.0s
    Downloading linux-x64-profile/linux-x64-flutter-gtk tools...      2,627ms
    Downloading linux-x64-release/linux-x64-flutter-gtk tools...      2,506ms
    Running "flutter pub get" in flutter_netease_music...            2,850ms
    Launching lib/main.dart on Linux in profile mode...
    
    flutter_netease_music/linux/flutter/ephemeral/.plugin_symlinks/dart_vlc/dartvlc/api/api.cc:41:48: warning: cannot delete expression with pointer-to-'void' type 'void *' [-Wdelete-incomplete]
    clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
    Building Linux application...                                           
    Exception: Build process failed
    #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
    #1      _runBuild (package:flutter_tools/src/linux/build_linux.dart:186:5)
    <asynchronous suspension>
    #2      buildLinux (package:flutter_tools/src/linux/build_linux.dart:78:5)
    <asynchronous suspension>
    #3      LinuxDevice.buildForDevice (package:flutter_tools/src/linux/linux_device.dart:65:5)
    <asynchronous suspension>
    #4      DesktopDevice.startApp (package:flutter_tools/src/desktop_device.dart:123:7)
    <asynchronous suspension>
    #5      FlutterDevice.runCold (package:flutter_tools/src/resident_runner.dart:501:33)
    <asynchronous suspension>
    #6      ColdRunner.run (package:flutter_tools/src/run_cold.dart:71:28)
    <asynchronous suspension>
    #7      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:677:26)
    <asynchronous suspension>
    #8      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1161:27)
    <asynchronous suspension>
    #9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
    <asynchronous suspension>
    #10     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
    <asynchronous suspension>
    #11     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
    <asynchronous suspension>
    #12     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
    <asynchronous suspension>
    #13     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
    <asynchronous suspension>
    #14     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
    <asynchronous suspension>
    #15     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
    <asynchronous suspension>
    #16     main (package:flutter_tools/executable.dart:94:3)
    <asynchronous suspension>
    
    Reviewed by axionl at 2021-12-21 02:56

Related

Flutter Music Player - A complete and open source music player designed in flutter.
 Flutter Music Player - A complete and open source music player designed in flutter.

Flutter Music Player A complete and open source music player designed in flutter. It is first complete music player designed in flutter. This app expl

Jun 28, 2022
Flutter-Music-Player - A simple music player app that let you play mp3 songs with some customization feature with a rich user interface
Flutter-Music-Player - A simple music player app that let you play mp3 songs with some customization feature with a rich user interface

Flutter-Music-Player - A simple music player app that let you play mp3 songs with some customization feature with a rich user interface

Feb 10, 2022
A flutter based music player for subsonic compatible music servers.
A flutter based music player for subsonic compatible music servers.

subsound A subsonic music player. Screenshots Release todo fix random breakage of player sometimes. seems like onStart is not working after background

Jul 30, 2022
Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library.
Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library.

Playify Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library. Playify was built using iOS's Medi

Jul 18, 2022
Beautiful-Music-App-UI - Music App page UI Using Flutter
Beautiful-Music-App-UI - Music App page UI Using Flutter

Beautiful Music App UI A Flutter App Music UI developed in Flutter Getting Start

Jun 17, 2022
BlackHole - A Music Player App made with Flutter
BlackHole - A Music Player App made with Flutter

BlackHole - A Music Player App made with Flutter

Aug 9, 2022
A Material designed music player developed in Flutter.
A Material designed music player developed in Flutter.

Flutter Music Player UI A Material designed music player developed in Flutter. Getting Started This project is a starting point for a Flutter applicat

Jan 13, 2022
A Flutter music player to play songs (mp3).
A Flutter music player to play songs (mp3).

?? ?? Flutter Music A Flutter music player to play songs (mp3). Please star ⭐ the repo if you like what you see ?? . ?? Requirements Any Operating Sys

Aug 9, 2022
A simple music player made using Flutter.
A simple music player made using Flutter.

Music Player App This is a beautiful music player, developed using Flutter. Features Play any song included in Flutter Assets Background Play Beautifu

May 21, 2022
A Music Player App made using Flutter.
A Music Player App made using Flutter.

A local music player app made using flutter. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

Jun 13, 2022
Minimalistic local music player built with flutter for android.
Minimalistic local music player built with flutter for android.

Nano Music Player Simple local music player built with flutter. It uses the audioplayer plugin to play files, and path_provider to locate the external

Jul 24, 2022
Grey - A material designed music player developed in Flutter
Grey - A material designed music player developed in Flutter

Grey A Material designed music player developed in Flutter All thanks to Aman Gautam,check his repo here Download releases here. Screenshots Plugins M

Jul 19, 2022
Neumorphic Music Player UI in Flutter!

neumorphic_musicplayer_ui A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get yo

Jul 31, 2022
Flutter Music Player
Flutter Music Player

Flutter Music Player

Jul 26, 2022
Music Player app made with Just audio library and Local database Hive.
Music Player app made with Just audio library and Local database Hive.

Music Player app made with Just audio library and Local database Hive. Find the free and Royelty music with Happy Rock application. The app contains information about singers and you can make your own playlist with Songs.Happy rock App's features are same as the real music app like spotify, amazon music etc.

Aug 7, 2022
An online and offline music player

awesomemusic A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Jan 18, 2022
YoYo Video Player is a HLS(.m3u8) video player for flutter.
YoYo Video Player is a HLS(.m3u8) video player for flutter.

YoYo Video Player YoYo Video Player is a HLS(.m3u8) video player for flutter. The video_player is a video player that allows you to select HLS video s

Jul 25, 2022
Play simultaneously music/audio from assets/network/file directly from Flutter, compatible with android / ios / web / macos, displays notifications
Play simultaneously music/audio from assets/network/file directly from Flutter, compatible with android / ios / web / macos, displays notifications

?? assets_audio_player ?? Play music/audio stored in assets files (simultaneously) directly from Flutter (android / ios / web / macos). You can also u

Aug 6, 2022
Create responsive music design using Flutter
Create responsive music design using Flutter

Create responsive music design using Flutter

Jul 22, 2022