android多媒体音乐播放

  次阅读 来源:互联网(转载协议) 2015-09-29 10:24 我要评论(0)

今天开始学习多媒体相关的操作,因为我们的智能手机一部分重要的作用就是播放音频,视频,显示图片等操作。Android主要是通过Open Core作为多媒体框架的核心,也被称作为PV,支持多种格式的音频,视频。Open Core框架主要包含两部分:

(1)PVPlayer:提供媒体播放器功能。

(2)PVAuthor:提供媒体流记录的功能,完成各种音频,视频的流以及图像的捕捉功能。

当然我们开发中,不会直接操作底层的PV,主要使用Android提供的Media API。

1.MediaPlayer类

该类主要用来播放,音频,视频和流媒体,包含了Audio和Video的播放功能,具体的生命周期与相关方法,可以参考下面音乐播放实例。

2.MediaRecorder类

该类主要用于媒体的采样,包括音频视频。MediaRecorder作为状态机运行,需要设置不同的,比如源设备和格式。设置后,可以执行任何时间长度的录制,直到用户停止。

一、多媒体之音乐播放

下面就以音乐播放的例子来验证MediaPlayer的生命周期以及相关方法,关于音乐播放其实之前例子已经实现,当时是播放的raw目录下得mp3文件,本例子自动播放SDCard下的mp3例子。

关键源码

public class SDCardMusicPlayActivity extends ListActivity {

private ImageButton mFrontImageButton = null;

private ImageButton mStopImageButton = null;

private ImageButton mStartImageButton = null;

private ImageButton mPauseImageButton = null;

private ImageButton mNextImageButton = null;

public MediaPlayer mMediaPlayer = null;//MediaPlayer对象

private List<String> mMusicList = new ArrayList<String>();//播放列表

private int currentListItem = 0;//当前播放歌曲的索引

private static final String MUSIC_PATH = new String("/mnt/sdcard/");//音乐的路径

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

musicList();//更新显示播放列表

mMediaPlayer = new MediaPlayer();

mFrontImageButton = (ImageButton) findViewById(R.id.LastImageButton);

mStopImageButton = (ImageButton) findViewById(R.id.StopImageButton);

mStartImageButton = (ImageButton) findViewById(R.id.StartImageButton);

mPauseImageButton = (ImageButton) findViewById(R.id.PauseImageButton);

mNextImageButton = (ImageButton) findViewById(R.id.NextImageButton);

//停止按钮

mStopImageButton.setOnClickListener(new ImageButton.OnClickListener() {

public void onClick(View v) {

if(mMediaPlayer.isPlaying()){ //当前是否正在播放

mMediaPlayer.reset();//重置MediaPlayer到初始状态

}

}

});

//开始按钮

mStartImageButton.setOnClickListener(new ImageButton.OnClickListener() {

public void onClick(View v) {

playMusic(MUSIC_PATH + mMusicList.get(currentListItem));

}

});

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...