My name is Ryan and I am a full stack software engineer with great passion on Flutter.
- 🔭 I’m currently working on Wren, a Flutter app for birders to view & listen to bird recordings.
A stylish music player for android device 16+
My name is Ryan and I am a full stack software engineer with great passion on Flutter.
当文件名是中文的时候无法插入数据库
D/SQLStatement: SQL Execute: [INSERT OR ABORT INTO song(id,album,artist,displayName,duration,favorite,path,size,title)VALUES(?,?,?,?,?,?,?,?,?)] ARGS--> [null, unknown, unknown, 黎林添娇、张颖轩 - 飞.mp3, 218383, false, /storage/emulated/0/kgmusic/download/kg_audio_book/黎林添娇、张颖轩 - 飞.mp3, 8737435, 黎林添娇、张颖轩 - 飞.mp3]
W/System.err: android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: song.path (code 2067 SQLITE_CONSTRAINT_UNIQUE[2067])
点击播放的时候(文件名是英文可以正常插入数据库,但是点击直接崩溃)
android.app.RemoteServiceException: Bad notification for startForeground: java.lang.RuntimeException: invalid channel for service notification: Notification(channel=default pri=2 contentView=io.github.ryanhoo.music/0x7f0c0047 vibrate=null sound=null defaults=0x0 flags=0x42 color=0x00000000 vis=PRIVATE semFlags=0x0 semPriority=0 semMissedCount=0)
手机三星s8+ android9
09-19 12:12:17.202 17169-17169/io.github.ryanhoo.music E/AndroidRuntime: FATAL EXCEPTION: main
Process: io.github.ryanhoo.music, PID: 17169
java.lang.RuntimeException: Unable to start service io.github.ryanhoo.music.player.PlaybackService@a14e4e9 with null: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.getAction()' on a null object reference
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4080)
at android.app.ActivityThread.access$2400(ActivityThread.java:222)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1898)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.getAction()' on a null object reference
at io.github.ryanhoo.music.player.PlaybackService.onStartCommand(PlaybackService.java:56)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4063)
at android.app.ActivityThread.access$2400(ActivityThread.java:222)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1898)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
点击添加文件夹报错,无法添加歌曲
错误提示:
Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
Player is not able to play next song automatically.User have to click next song to play it.Nice job.Thank you
能不能别直接把原型图直接当预览图。有些页面功能都没实现。最好还是实现多少,真实预览。当然还是非常感谢你的开源。
在PlayList中新建歌单摇滚,然后从Favorite歌单中将任意歌曲add to play list 至摇滚歌单两次,进入摇滚歌单,此歌曲出现两次
Hello,
I want to play 5 sounds together.
All the sounds has same length and wants to play all the songs with sync.
Let me know if it can be possible using StylishMusicPlayer..
Thanking you
When play song from all dong list and press next or prev button of player next song not playing
在all里面,我添加到收藏的音乐出不来,一直在加载,还有默认的文件夹没有音乐,建议遍历文件夹获取音乐列表,setting里面并没有相应功能,大胸弟代码质量好高,包括封装之类的,希望博客里能对代码做一下解析,像RxJava,RxBus等
PlayListDetailsActivity的onSongDeleted方法中,执行两次mAdapter.notifyItemRemoved(mDeleteIndex);
没有找到歌词界面
download apk ?
MediaPlayer支持的音乐格式好像不太多,我想问一下,除了MeidaPlayer还有哪些可以使用?
如题
我发现是你的进度条控件调用了post的原因建议换一种更新进度的方式,可以换成计时器或者线程
It was a major issue and I fixed as follows
File: PlaybackService.java
TelephonyManager telManager;
boolean wasPlayingBeforePhoneCall=false;
public class LocalBinder extends Binder {
public PlaybackService getService() {
return PlaybackService.this;
}
}
@Override
public void onCreate() {
super.onCreate();
mPlayer = com.aapbd.mediaplayeraudio.player.Player.getInstance();
mPlayer.registerCallback(this);
telManager = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);
if (telManager != null) {
telManager.listen(phoneListener,
PhoneStateListener.LISTEN_CALL_STATE);
}
}
PhoneStateListener phoneListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if (state == TelephonyManager.CALL_STATE_RINGING) {
if(mPlayer==null)
return;
wasPlayingBeforePhoneCall = isPlaying();
pause();
} else if (state == TelephonyManager.CALL_STATE_IDLE) {
if(mPlayer==null)
return;
if (wasPlayingBeforePhoneCall) {
play();
}
} else if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
// A call is dialing,
// active or on hold
if(mPlayer==null)
return;
wasPlayingBeforePhoneCall = isPlaying();
pause();
}
super.onCallStateChanged(state, incomingNumber);
}
};
1、进入Local Files
2、点击Add Folder,进入系统目录
3、直接点击右上角的对号,会添加新的文件路径
4、删除新添加的文件路径,会出现重影
This project wasn't finished when I went to Beijing this Autumn Festival(September 15th). Somehow it caught some attention and received over 1000 stars in two days. I was quite astonished. 😆
But unfortunately after that my laptop went malfunctional so I sent it to Apple Genius Bar hoping to fix it. What's even worse, I got sick for almost a week. That's why I haven't fixed any bugs or added a single feature to this project in such a long period. I am sorry for that. 😭
Now I am back to work. Seeing you guys submitted so many issues, I am humbled and also grateful. Though there are a lot of bugs to fix but no big deal.
Sure you can continue submitting issue here but you may also join me on IM tools so that we can have live chat(Github doesn't alert me when you guys submit issues).
You can also report minor bugs and offer me kind suggestions on Gitter:
Also you may leave your email here and I will invite you into our secret Slack team(Stylist). We can discuss further topics about product, design, Sketch and more, there I will explain why I am so fond of Stylish
and determined to use it as a prefix for all my apps. Come on, join me!
Music界面,播放歌曲时,多次点击左下角的播放模式按钮,会出现按钮无响应的情况
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.