实验六 在应用程序中播放音频和视频

实验报告

课程名称

基于Android平台移动互联网开发

实验日期

2016年4月15日

实验项目名称

在应用程序中播放音频和视频

实验地点

S30010

实验类型

□验证型    √设计型    □综合型

学    时

 

一、实验目的及要求(本实验所涉及并要求掌握的知识点)

1、实现在应用程序中处理音频和视频。

2、实现播放音频,音频播放控制;实现播放视频,视频播放控制;

3、使用Service服务播放项目源文件中的音乐。

二、实验环境(本实验所使用的硬件设备和相关软件)

(1)PC机

(2)操作系统:Windows XP

(3)软件: Eclipse, JDK1.6,Android SDK,ADT

三、实验内容及步骤

1、在Sudoku项目中修改布局文件activity_main.xml,添加必要的控件。在项目中新建raw文件夹,把.mp3类型的音频文件复制到raw文件夹下。通过DDMS导入到SD卡。

2、定义MediaPlayer对象,findViewById()方法为各种按钮建立关联。

3、为各种按钮添加事件监听

四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)

代码:MainActivity类代码

public class   MainActivity extends   Activity {

    private   Button exitbtn;

    private   Button musicbtn;

    private   Button localbtn;

    private   Button stopbtn;

    private   File file;

    private   TextView tv1;

    final int code=0x717;

    public   MediaPlayer musicplayer=new   MediaPlayer();  //定义MediaPlayer对象

   

    protected void   onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        Intent   intent=getIntent();             //创建intent对象

        Bundle   bundle=intent.getExtras();      //获取传递值,并用bundle接收

        String    str=bundle.getString("用户名:"+bundle.getString("userName"));      //获取传递的字符串值

       

        tv1 =   (TextView) findViewById(R.id.TextView01);

          // 从Intent获得额外信息,设置为TextView的文本

        tv1.setText("用户名:"+bundle.getString("userName"));

   

        exitbtn=(Button)findViewById(R.id.exit_btn);

        exitbtn.setOnClickListener(new   OnClickListener() {

                public void   onClick(View arg0) {

                Intent intent=new   Intent();

                intent.setClass(MainActivity.this,LoginActivity.class);

                startActivityForResult(intent,code);

                finish();

                }

        });  

   

        musicbtn=(Button)findViewById(R.id.btnmusic);  //为各种按钮建立关联

        localbtn=(Button)findViewById(R.id.btnlocal);

        stopbtn=(Button)findViewById(R.id.btnstop);

       

        musicbtn.setOnClickListener(new   OnClickListener() {

            public void   onClick(View arg0) {

                musicplayer=MediaPlayer.create(MainActivity.this,R.raw.nan);

                musicplayer.start();

                tv1.setText("正在播放源文件夹音乐");

            }

        });

       

        file=new   File("/sdcard/rain.mp3");

        if(file.exists()){

         musicplayer=MediaPlayer.create(this,   Uri.parse(file.getAbsolutePath()));}  //创建MediaPlayer对象

        else{

        tv1.setText("要播放的音频文件不存在");

        }

       

        localbtn.setOnClickListener(new OnClickListener()   {

            public void   onClick(View arg0) {

                 musicplayer.reset();

                 try {

                    musicplayer.setDataSource(file.getAbsolutePath());  //重新设置要播放的音频

                    musicplayer.prepare();               //预加载音频

                    musicplayer.start();

                    tv1.setText("正在播放本地音乐");

                }   catch (Exception e) {

                    e.printStackTrace();

                }  

            }

        });

        stopbtn.setOnClickListener(new   OnClickListener() {

            public void   onClick(View arg0) {

                if(musicplayer.isPlaying()){

                    musicplayer.stop();

                    tv1.setText("停止播放音乐");

                }  

            }

        });

    }      //onDestroy()方法 ,在当前Activity销毁时,停止正在播放的音频,释放MediaPlayer所占资源

    protected void   onDestroy() {   

            if (musicplayer.isPlaying())   {

                musicplayer.stop();

            }

                musicplayer.release();

                super.onDestroy();

    }

   

    public boolean   onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.main,   menu);   //在activity中加载定义好的菜单资源main.xml,实例化

        return true;

    }

运行结果:(截图)

点击“播放源文件夹音乐”时显示 如图1:并播放源文件夹音乐nan.mp3

点击“播放本地音乐”时显示 如图2:并播放SD卡音乐rain.mp3

点击“停止播放音乐”时显示 如图3:并停止播放音乐

点击“退出”时显示 如图4,退回登录界面,停止正在播放的音乐。

 

                                                                            

图1                                                 图2                      

           

                    图3                                             图4

五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)

    在播放本地音乐时,要添加file=new   File( )获取要播放的文件。实验前要实现“播放源文件夹音乐”,需要在项目中新建raw文件夹,把.mp3类型的音频文件复制到raw文件夹下。实现“播放本地音乐” 要通过DDMS把音频文件导入到SD卡。

实验评语

 

实验成绩

 

指导教师签名:              年   月   日

           

 

 

 

原文地址:https://www.cnblogs.com/family6/p/5404898.html