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


    实验报告

    课程名称

    基于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卡。

    实验评语

     

    实验成绩

     

    指导教师签名:              年   月   日

               

     

     

     

  • 相关阅读:
    【springcloud alibaba】配置中心之nacos
    【springcloud alibaba】注册中心之nacos
    LeetCode计数质数Swift
    LeetCode移除链表元素Swift
    LeetCode删除重复的电子邮箱SQL
    LeetCode汉明距离Swift
    LeetCode两整数之和Swift
    LeetCode从不订购的客户SQL
    LeetCode超过经理收入的员工SQL
    LeetCode组合两个表SQL
  • 原文地址:https://www.cnblogs.com/family6/p/5404898.html
Copyright © 2020-2023  润新知