7.2.3 使用网络中的MP3作为游戏音效

更新于 2026年10月10日 版权声明
7.2.3 使用网络中的MP3作为游戏音效

为了节约手机的存储空间,在听音乐时可以以网络下载的方式播放MP3。接下来将通过一个具体实例的实现过程,详细讲解使用MediaPlayer播放网络中MP3的流程。

图示

在本实例中插入了4个Button按钮,分别用于播放、暂停、重新播放和停止处理。执行后通过Runnable发起运行线程,在线程中远程下载指定的MP3文件,下载功能是通过网络传输的方式下载的。下载完毕后将文件临时保存到SD卡中,这样可以通过4个按钮对其进行控制。当程序关闭后,删除SD卡中的临时性文件。

实例文件example.java的具体实现流程如下所示。

(1)定义currentFilePath用于记录当前正在播放MP3的URL地址,定义currentTemp FilePath表示当前播放MP3的路径。具体代码如下。

图示

2)使用strVideoURL设置要播放MP3文件的网址,并设置透明度。具体代码如下

图示

图示

3)编写单击“播放”按钮所触发的处理事件,具体代码如下

图示

4)编写单击“重播”按钮所触发的处理事件,具体代码如下

图示

5)编写单击“暂停”按钮所触发的处理事件,具体代码如下

图示

图示

6)编写单击“停止”按钮所触发的处理事件,具体代码如下

图示

图示

7)定义方法playVideo(final String strPath)来播放指定的MP3文件,其播放的是存储卡中暂时保存的MP3文件,具体代码如下。

图示

8)编写setOnErrorListener来监听错误处理,具体代码如下(https://www.daowen.com)

图示

9)编写setOnBufferingUpdateListener来监听MediaPlayer缓冲区的更新,具体代码如下

图示

10)编写setOnCompletionListener来监听播放完毕所触发的事件,具体代码如下

图示

11)编写setOnPreparedListener来监听开始阶段的事件,具体代码如下

图示

12)将文件存到SD卡后,通过方法mMediaPlayer01.start()播放MP3。具体代码如下

图示

图示

13)如果有异常则输出提示,具体代码如下

图示

14)定义函数setDataSource用于存储URL的MP3文件到存储卡。首先判断传入的地址是否为URL,然后创建URL对象和临时文件。具体代码如下。

图示

图示

15)定义方法getFileExtension(String strFileName)获取音频文件的扩展名,如果无法顺利获取扩展名,则默认为“.dat”。具体代码如下。

图示

16)定义方法delFile(String strFileName)设置当离开程序时删除临时音乐文件,具体代码如下。

图示

图示

执行后可以通过播放、暂停、重新播放和停止四个按钮控制指定的MP3音乐,如图7-4所示。

图示

图7-4 执行效果

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)