安卓学习日志 Day05 — MediaPlayer

概述

上次已经为 Miwok 应用的每个页面的列表项设置了单词图片和 主题色

接下来将 为 所有页面的 单词 和 词组 添加音频播放的功能,使在屏幕中单击 任意一个 单词或词组使,播放对应的音频文件。

不过在此之前,有必要 先创建一个与 Miwok 应用独立开来的 小型音频播放应用。

开发者通常会写一个小应用来测试下新技术,然后将该技术添加到自己的大型应用中。

目标

  • 新创建一个小型音频播放应用
  • 应用中有一个播放按钮用于播放音频
  • 应用中有一个暂停按钮用于暂停播放
  • 两个用于快进和后退的按钮

实现过程

应用布局

这个音频播放器的外观和 日常生活中所使用的音乐播放器 类似:

在这里插入图片描述

可以看出 音乐播放应用的界面基本分为上下两部分:

上部分显示音乐播放器的 名称和图片,下部分为 音频的控制区域 ,用于控制音频的 播放暂停快进后退,还有一个拖动条 用于实时显示 音频播放的文章。

下部分中还有三个文本其余,用于显示 音频的名称、总时长 和 播放的位置。

媒体播放器

在此之前我并不会在 Android 应用 中 播放 音频,经过在网上查阅之后 发现可以使用 MediaPlayer API 来实现音频的播放等操作,接着再查看 Android MediaPlayer 的相关文档,了解基本的使用方法(相关文章的链接为都放到了文末的参考链接当中)。

在 Android app 中 ,主要使用一下代码实现 音频的播放:

class MainActivity extends Activity {
   
	MediaPlayer mediaPlayer;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
   
	    super.onCreate(savedInstanceState);
	    setContentView(R.layout.activity_main);
        
	    mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.yoursong);	
	    mediaPlayer.start();	
	}
	
	@Override
	protected void onPause() {
   
	    super.onPause();
	    mediaPlayer.stop();
	    mediaPlayer.release();
	}
}
  • 2 行,在 Activity 中 声明 一个 MediaPlayer 类型的 媒体播放器 成员变量
  • 9 行,创建 MediaPlayer 对象 ,传入 上下文 context 和 音频资源文件的id
  • 10 行,启动 媒体播放器,即 开始播放音频
  • 13 ~ 18 行,当Activity 被暂停后,关掉 媒体播放器,并释放其占用的内存资源

在 第 9 行 为 媒体播放器 指定音频资源id,使用的是 raw 类型的资源(需要新建),在右侧的 res 目录上鼠标右键 --> 选择 New --> 选择 Android Resource Directory

接着 在弹出的窗口中 将 Resource type 选成 raw ,这时 Directory name 页面 变成 raw ,最后点击 ok 即可完成 raw 类型资源目录的创建。

在这里插入图片描述

然后将音频文件放到 raw 文件夹当中,就可以在代码中以 R.raw.song 的形式来访问 资源ID了。

在这里插入图片描述

由于版权原因,不提供任何音频文件。建议自己选择一个 可用且有趣的音频文件,并添加到自己的 Music Player 应用中。

进度条和时间显示

首先获取所有需要用到的控件的视图对象,并设置其初始状态

onCreate 方法中添加:

        playButton = 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值