zoukankan      html  css  js  c++  java
  • 实验六 在应用程序中播放音频和视频

    课程名称

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

    实验日期

    2016-4-21

    实验项目名称

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

    实验地点

    S3010

    实验类型

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

    学  时

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

    1)   实现播放音频,音频播放控制;

    2)   实现播放视频,视频播放控制;

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

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

    (1)PC机

    (2)操作系统:Windows XP

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

    三、实验内容及步骤

    1.导入工程

     

    2.添加TMediaplayer、MyService、Video类和mediaplayer、video布局文件。

    3.完善activity类。

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

    代码:

    一、

    1、播放本地文件系统中的音乐

      musicButton.setOnClickListener(new OnClickListener() {

               

                @Override

                public void onClick(View arg0) {

                    // TODO Auto-generated method stub

                    String sdCard=Environment.getExternalStorageDirectory().getPath();

                    try {

                        mediaPlayer.setDataSource(sdCard+File.separator+"music.mp3");

                    } catch (IllegalArgumentException e) {

                        // TODO Auto-generated catch block

                        e.printStackTrace();

                    } catch (SecurityException e) {

                        // TODO Auto-generated catch block

                        e.printStackTrace();

                    } catch (IllegalStateException e) {

                        // TODO Auto-generated catch block

                        e.printStackTrace();

                    } catch (IOException e) {

                        // TODO Auto-generated catch block

                        e.printStackTrace();

                    }

                    try {

                        mediaPlayer.prepare();

                    } catch (IllegalStateException e) {

                        // TODO Auto-generated catch block

                        e.printStackTrace();

                    } catch (IOException e) {

                        // TODO Auto-generated catch block

                        e.printStackTrace();

                    }

                    mediaPlayer.start();

                    Toast.makeText(TMediaplayer.this, "正在播放本地文件系统中的音乐", Toast.LENGTH_SHORT).show();

                }

            });

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

      public class MyService extends Service {

        private MediaPlayer mp;

     

        @Override

        public IBinder onBind(Intent arg0) {

            // TODO Auto-generated method stub

            return null;

        }

        @Override

        public void onCreate() {

        super.onCreate();

        mp=MediaPlayer.create(this,R.raw.aa);

                Log.i("aaaaaaaaa", "MusicService onCreate被运行");

               

            }

     

        public int onStartCommand(Intent intent, int flags, int startId) {

            // TODO Auto-generated method stub

            mp.start();

             Log.i("gggggggggggg", "MusicService onStartCommand被运行");

             Toast.makeText(MyService.this, "正在播放源文件中的音乐~", Toast.LENGTH_SHORT).show();

            return super.onStartCommand(intent, flags, startId);

           

        }

    3、播放视频

    File file=new File("/sdcard/Movies/shudu.mp4");

            Log.i("vvvvvvvvvvvvv", "33333333333");

            mcController=new MediaController(Video.this);

            if(file.exists()){

                videoView.setVideoPath(file.getAbsolutePath());

                videoView.setMediaController(mcController);

                videoView.requestFocus();

                try{

                videoView.start();

                }catch(Exception e){

                    e.printStackTrace();

                }

                Log.i("ffffffff", "33333333333");

                videoView.setOnCompletionListener(new OnCompletionListener() {

                   

                    @Override

                    public void onCompletion(MediaPlayer arg0) {

                        // TODO Auto-generated method stub

                    }

                });

    4、停止音乐播放

    pauseBtn.setOnClickListener(new OnClickListener() {

               

                @Override

                public void onClick(View arg0) {

                    // TODO Auto-generated method stub

                    stopService(intent);

                    mediaPlayer.stop();

                    Toast.makeText(TMediaplayer.this, "停止播放", Toast.LENGTH_SHORT).show();

                   

                }

            });

    5、退出

    exitBtn.setOnClickListener(new OnClickListener() {

               

                @Override

                public void onClick(View arg0) {

                    // TODO Auto-generated method stub

                    stopService(intent);

                   

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

                    startActivity(intent);

                }

            });

    运行结果:(截图)

    一、播放本地文件音乐

    二、播放源文件音乐

    三、停止播放音乐

    四、播放视频

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

    通过这次实验,基本上了解了播放音频和视频的方法,但是过程中遇到了比较多的问题。比如说,创建了一个与定义对象同名的类,会干扰对对象的识别,直接报错。还有视频播放未能实现,在点击了播放视频按钮之后,跳转到播放视频的页面之后,弹出“can’t play this video”的错误,还没能找到原因。

    实验评语

     

    实验成绩

     

    指导教师签名:              年   月   日

  • 相关阅读:
    python ping监控
    MongoDB中一些命令
    进制转换(十进制转十六进制 十六进制转十进制)
    通过ssh建立点对点的隧道,实现两个子网通信
    linux环境下的各种后台执行
    python requests请求指定IP的域名
    不需要修改/etc/hosts,curl直接解析ip请求域名
    MongoDB数据update的坑
    windows平台使用Microsoft Visual C++ Compiler for Python 2.7编译python扩展
    rabbitmq问题之HTTP access denied: user 'guest'
  • 原文地址:https://www.cnblogs.com/Dawn----123/p/5419627.html
Copyright © 2011-2022 走看看