零点起飞学Android开发之Android多媒体应用
- 格式:pptx
- 大小:185.65 KB
- 文档页数:19
由于JDK、Android、Eclipse工具更新,所以为广大的《零点起飞学Android》读者提供一个最新的Andorid开发环境配置全程彩图教程。
1.准备安装(1)确认计算机的是32位,还是64位:Windwos 7确认方式:单击开始菜单,右击“计算机”命令,单击属性命令。
确认后根据对应的位数,选择下载以下的工具。
(2)到以下网址下载对应的开发工具:JDK下载地址:/technetwork/java/javase/downloads/jdk7-downloads-1880260.html其中,Windows X86是32位的,Windows X64是64位的。
Android SDK Tools下载地址:/sdk/index.html这里是不分32位和64位。
Eclipse下载地址:/downloads/Windows 32Bit表示32位,Windows 64Bit表示64位。
2.安装JDK双击运行下载的jdk-7u51-windows-i586记录安装位置为:C:\Program Files\Java\jdk1.7.0_51\3.设置JDK环境变量在“变量值”文本框结尾先添加一个英文的分号(;),再添加一个JDK的安装路径(C:\Program Files\Java\jdk1.7.0_51\),再添加一个\bin\。
单击“确定”按钮。
实际,C:\Program Files\Java\jdk1.7.0_51\bin\就是java.exe所在的路径。
测试Path环境变量:输入java命令,并回车,如果出现类似以下的内容,就说明Path环境变量配置正确。
“变量名”文本框填写Java;“变量值”文本框填写JDK的安装路径(C:\Program Files\Java\jdk1.7.0_51\)。
然后,单击“确定”按钮,保存设置。
4.安装Eclipse选择合适的位数版本,直接解压Eclipse文件,得到一个eclipse文件夹。
Android的多媒体功能是其中一个最为常用和受欢迎的功能之一。
随着移动设备的普及和大众对音乐的需求增加,开发音乐播放器应用成为了许多开发者的选择。
本文将介绍如何使用Android的多媒体功能开发一款音乐播放器应用。
1. 设计应用界面在开发音乐播放器应用之前,我们首先需要设计一个吸引用户的应用界面。
一个好的用户界面可以提供良好的用户体验,并且能够吸引更多用户使用我们的应用。
我们可以使用Android提供的布局文件来设计我们的应用界面,例如使用LinearLayout或RelativeLayout布局来放置不同的控件,如播放按钮、进度条和歌曲列表。
2. 实现音乐播放功能接下来,我们需要实现音乐播放功能。
Android提供了MediaPlayer类,可以方便地实现音乐的播放、暂停和停止等功能。
我们可以在界面中添加一个播放按钮,当用户点击按钮时,我们可以通过MediaPlayer类来控制音乐的播放和暂停。
另外,我们还可以通过设置MediaPlayer的OnCompletionListener接口来监听音乐播放完成事件,并自动切换到下一首歌曲。
3. 加载和显示歌曲列表一款好的音乐播放器应用不仅仅需要播放音乐,还需要提供一个方便用户选择歌曲的列表。
我们可以使用Android提供的ListView控件来实现歌曲列表的加载和显示。
在应用启动时,我们先通过读取设备上的音乐文件,获取到各个歌曲的信息,如歌曲名和歌手名等,并将这些信息显示在ListView上。
当用户点击某个歌曲时,我们可以通过监听ListView的ItemClick事件来响应用户的选择,并且通过MediaPlayer类来播放用户选择的歌曲。
4. 显示歌曲封面和歌词除了播放音乐外,我们还可以提供一些额外的功能来增加我们的应用的吸引力。
其中一个功能是显示歌曲封面和歌词。
通过读取歌曲的音频文件,我们可以获取到歌曲的相关信息,如封面图和歌词。
我们可以使用Android提供的ImageView控件来显示歌曲的封面图,并且通过TextView控件来显示歌词。
Android 提供了MediaPlayer 和MediaRecorder 两个工具类,来帮助开发者操作音频和视频。
我们通过两个小例子来学习一下多媒体资源的使用。
一、简单音乐播放器1、新建一个项目Lesson28_Music , 主Activity的名字是MainMusic.java2、拷贝这几张图片到res/drawable目录下,并建立3个xml文件,拷贝love.mp3到res/raw文件中。
play.xml1 <?xml version="1.0" encoding="utf-8"?>2 <SELECTOR xmlns:android="/apk/res/android">3 <ITEM android:state_enabled="false" android:drawable="@drawable/play_disable" /> <!-- state_enabled=false -->4 <ITEM android:drawable="@drawable/play_50" /> <!-- default -->5 </SELECTOR>pause.xml1 <?xml version="1.0" encoding="utf-8"?>2 <SELECTOR xmlns:android="/apk/res/android">3 <ITEM android:state_enabled="false" android:drawable="@drawable/pause_disable" /> <!-- state_enabled=false -->4 <ITEM android:drawable="@drawable/pause_50" /> <!-- default -->5 </SELECTOR>stop.xml1 <?xml version="1.0" encoding="utf-8"?>2 <SELECTOR xmlns:android="/apk/res/android">3 <ITEM android:state_enabled="false" android:drawable="@drawable/stop_disable" /> <!-- state_enabled=false -->4 <ITEM android:drawable="@drawable/stop_50" /> <!-- default -->5 </SELECTOR>3、res/layout/main.xml 的内容如下:01 <?xml version="1.0" encoding="utf-8"?>02 <LINEARLAYOUT xmlns:android="/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">03 <TEXTVIEW android:layout_width="fill_parent" android:layout_height="wrap_content" android:textsize="25sp" android:text="简单音乐播放器" />04 </LINEARLAYOUT>05 <LINEARLAYOUT xmlns:android="/apk/res/android"android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent">0607 <IMAGEBUTTON android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/play" android:background="@drawable/play" android:adjustviewbounds="true" android:layout_margin="4dp">08 </IMAGEBUTTON>0910 <IMAGEBUTTON android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/pause" android:background="@drawable/pause" android:adjustviewbounds="true" android:layout_margin="4dp">11 </IMAGEBUTTON>1213 <IMAGEBUTTON android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/stop" android:background="@drawable/stop" android:adjustviewbounds="true" android:layout_margin="4dp">14 </IMAGEBUTTON>15 </LINEARLAYOUT>4、MainMusic.java的内容如下:001 package android.basic.lesson28; 002003 import java.io.IOException;004005 import android.app.Activity;006 import android.media.MediaPlayer;007 import android.media.MediaPlayer.OnCompletionListener; 008 import android.media.MediaPlayer.OnPreparedListener; 009 import android.os.Bundle;010 import android.view.View;011 import android.view.View.OnClickListener;012 import android.widget.ImageButton;013 import android.widget.Toast;014015 public class MainMusic extends Activity {016017 // 声明变量018 private ImageButton play, pause, stop;019 private MediaPlayer mPlayer;020021 /** Called when the activity is first created. */022 @Override023 public void onCreate(Bundle savedInstanceState) {024 super.onCreate(savedInstanceState);025 setContentView(yout.main);026027 // 定义UI组件028 play = (ImageButton) findViewById(R.id.play);029 pause = (ImageButton) findViewById(R.id.pause); 030 stop = (ImageButton) findViewById(R.id.stop);031032 // 按钮先全部失效033 play.setEnabled(false);034 pause.setEnabled(false);035 stop.setEnabled(false);036037 // 定义单击监听器038 OnClickListener ocl = new View.OnClickListener() { 039040 @Override041 public void onClick(View v) {042 switch (v.getId()) {043 case R.id.play:044 // 播放045 Toast.makeText(MainMusic.this, "点击播放", Toast.LENGTH_SHORT) 046 .show();047 play();048 break;049 case R.id.pause:050 // 暂停051 Toast.makeText(MainMusic.this, "暂停播放", Toast.LENGTH_SHORT) 052 .show();053 pause();054 break;055 case R.id.stop:056 // 停止057 Toast.makeText(MainMusic.this, "停止播放", Toast.LENGTH_SHORT) 058 .show();059 stop();060 break;061 }062 }063 };064065 // 绑定单击监听066 play.setOnClickListener(ocl);067 pause.setOnClickListener(ocl);068 stop.setOnClickListener(ocl);069070 // 初始化071 initMediaPlayer();072 }073074 // 初始化播放器075 private void initMediaPlayer() {076077 // 定义播放器078 mPlayer = MediaPlayer.create(getApplicationContext(), R.raw.love);079080 // 定义资源准备好的监听器081 mPlayer.setOnPreparedListener(new OnPreparedListener() {082 @Override083 public void onPrepared(MediaPlayer mp) {084 // 资源准备好了再让播放器按钮有效085 Toast.makeText(MainMusic.this, "onPrepared", Toast.LENGTH_SHORT) 086 .show();087 play.setEnabled(true);088 }089 });090091 // 定义播放完成监听器092 mPlayer.setOnCompletionListener(new OnCompletionListener() {093094 @Override095 public void onCompletion(MediaPlayer mp) {096 Toast.makeText(MainMusic.this, "onCompletion",097 Toast.LENGTH_SHORT).show();098 stop();099 }100 });101 }102103 // 停止播放104 private void stop() {105 mPlayer.stop();106 pause.setEnabled(false);107 stop.setEnabled(false);108 try {109 mPlayer.prepare();110 mPlayer.seekTo(0);111 play.setEnabled(true);112 } catch (IllegalStateException e) {113 e.printStackTrace();114 } catch (IOException e) {115 e.printStackTrace();116 }117118 }119120 // 播放121 private void play() {122123 mPlayer.start();124 play.setEnabled(false); 125 pause.setEnabled(true); 126 stop.setEnabled(true); 127 }128129 // 暂停130 private void pause() {131 mPlayer.pause();132 play.setEnabled(true); 133 pause.setEnabled(false); 134 stop.setEnabled(true); 135 }136137 // Activity销毁前停止播放138 @Override139 protected void onDestroy() { 140 super.onDestroy();141 if (stop.isEnabled()) { 142 stop();143 }144145 }146147 }5、运行程序,查看效果二、简单视频播放器Android为视频播放提供了VideoView 和MediaController 两个现成的组件,让我们可以方便的实现MP4、3GP等视频的播放。