我是 Android 开发的新手,我有一个问题/问题。
我正在玩 MediaPlayer 类来重现一些声音/音乐。我正在玩原始资源(res/raw
),它看起来很容易。
要播放原始资源,必须像这样初始化 MediaPlayer:
MediaPlayer mp = MediaPlayer.create(appContext, R.raw.song);
mp.start();
直到这里没有问题。播放声音,一切正常。当我想向我的应用程序添加更多选项时,我的问题出现了。特别是当我添加“停止”按钮/选项时。
基本上,我想做的是......当我按下“停止”时,音乐停止。当我按下“开始”时,歌曲/声音重新开始。(非常基本!)
要停止媒体播放器,您只需调用stop()
. 但要再次播放声音,必须重新设置媒体播放器并做好准备。
mp.reset();
mp.setDataSource(params);
mp.prepare();
问题是该方法setDataSource()
只接受文件路径、内容提供者 URI、流媒体 URL 路径或文件描述符作为参数。
所以,由于这个方法不接受资源标识符,我不知道如何设置数据源以便调用prepare()
. 另外,不明白为什么不能使用Resouce标识符来设置数据源,但是初始化MediaPlayer的时候可以使用资源标识符。
我想我错过了一些东西。我想知道我是否在混合概念,并且stop()
不必在“停止”按钮中调用该方法。有什么帮助吗?
提前致谢!!!