这次实验是制作音乐播放器,但是实验过程中一直碰壁,尤其MediaPlayer的使用。
错误示范:
MediaPlayer mediaPlayer
mediaPlayer.create(getApplicationContext(), R.raw.id);
mediaPlayer.start;
本来用的是setDataSource("/sdcard/“),但是这次实验要做循环播放,老师说用create比较好,然后就傻傻的直接使用如上图,然后就一直出错,一直改了一上午,要奔溃,最后搜到一个答案
MediaPlayer mp
mp = MediaPlayer.create(this, R.raw.id);
mp.start;
好像发现了什么,但是这差不多啊,不可能有问题吧。于是抱着碰碰运气的想法,改成了
MediaPlayer mediaPlayer
mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.id);
mediaPlayer.start;
然后就成功播放了!!!
原来MediaPlayer.create其实就是new了一个MediaPlayer对象,并且把音频资源赋值给了对象,所以必须赋值给mediaPlayer才能调用start(不需要调用prepare了)
希望能帮到像我一样遇到这样问题的初学者。
当然我上面的只是为了实验能不能播放出音乐,所以代码比较简单。
来源:CSDN
作者:qq_30612083
链接:https://blog.csdn.net/qq_30612083/article/details/90271198