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

    实验报告

    课程名称

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

    实验日期

    2016年4月15日

    实验项目名称

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

    实验地点

    S30010

    实验类型

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

    学  时

    2

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

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

    2.实现播放音频,音频播放控制;

    3. 实现播放视频,视频播放控制;

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

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

    (1)PC机

    (2)操作系统:Windows XP

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

    三、实验内容及步骤

    1.新建一个名为MediaPlayer的工程

    2.修改布局文件main.xml

    3.完善Activity类

    4. 新建Service类,使用Service服务播放项目源文件中的音乐,实现后台继续能播放音频。

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

    代码:

    GameActivity.java类:

    package com.example.sudoku;
    
    import java.io.File;
    import java.io.IOException;
    
    import com.example.sudoku.R.color;
    
    import android.app.ActionBar;
    import android.app.Activity;
    import android.content.Intent;
    import android.graphics.Color;
    import android.media.MediaPlayer;
    import android.media.MediaPlayer.OnCompletionListener;
    import android.os.Bundle;
    import android.os.Environment;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.MediaController;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.widget.VideoView;
    
    public class GameActivity extends Activity {
        TextView tv;
        Button btnStart;
        Button btnPause,btnyuan,btnben,btnwang,btnstop2,btnshipi,btnexit,btnservice;
        Button btnstop;
        public MediaPlayer mediaPlayer=new MediaPlayer();
        VideoView video;
        Boolean ifstart=false;
    //    public MediaPlayer mediaPlayer1;
        protected void onCreate(Bundle savedInstanceState) {
            ActionBar actionBar=getActionBar();
            actionBar.setDisplayShowHomeEnabled(true);
            actionBar.setDisplayHomeAsUpEnabled(true);
            super.onCreate(savedInstanceState);
            setContentView(R.layout.game);
            video=(VideoView)findViewById(R.id.videoView1);
            tv=(TextView)findViewById(R.id.textView1);
            btnStart=(Button)findViewById(R.id.button1);
            btnPause=(Button)findViewById(R.id.button2); 
            btnstop=(Button)findViewById(R.id.button3);
            btnyuan=(Button)findViewById(R.id.btnyuan);
            btnben=(Button)findViewById(R.id.btnben);
            btnwang=(Button)findViewById(R.id.btnwang);
            btnstop2=(Button)findViewById(R.id.btnstop2);
            btnshipi=(Button)findViewById(R.id.btnshipi);
            btnexit=(Button)findViewById(R.id.btnexit); 
            btnservice=(Button)findViewById(R.id.btnservice); 
            btnservice.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    startService(new Intent(GameActivity.this,BServiceMusic.class));
                }
            });
            btnshipi.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    File file=new File(Environment.getExternalStorageDirectory().getPath()+File.separator+"h.mp4");
                    MediaController mc=new MediaController(GameActivity.this);
                    if(file.exists()){
                        video.setVideoPath(file.getAbsolutePath());
                        video.setMediaController(mc);
                        video.requestFocus();
                        video.start();
                        video.setOnCompletionListener(new OnCompletionListener() {
                            
                            @Override
                            public void onCompletion(MediaPlayer mp) {
                                // TODO Auto-generated method stub
                                Toast.makeText(GameActivity.this, "视频播放完毕!!", Toast.LENGTH_SHORT).show();
                            }
                        });
                    }else{
                        Toast.makeText(GameActivity.this, "找不到要播放的视频文件!!", Toast.LENGTH_SHORT).show();                    
                    }
                }
            });
            btnstop2.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                     if(mediaPlayer.isPlaying()||ifstart==true){
                         mediaPlayer.stop();
                         ifstart=false;
                         mediaPlayer=new MediaPlayer();
                     }
                }
            });
            btnyuan.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    if(!mediaPlayer.isPlaying()||ifstart==false){
                        mediaPlayer=MediaPlayer.create(GameActivity.this, R.raw.nan);
                        mediaPlayer.start();
                        ifstart=true;
                    }
                }
            });
            btnben.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    if(!mediaPlayer.isPlaying()||ifstart==false){
                        try {
                            mediaPlayer.setDataSource(Environment.getExternalStorageDirectory().getPath()+ File.separator + "beyond.mp3");
                            mediaPlayer.prepare();
                        } 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();
                        }
                        mediaPlayer.start();
                        ifstart=true;
                    }
                }
            });
            btnstop.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    if(mediaPlayer.isPlaying()||ifstart==true){
                        mediaPlayer.stop();
                        ifstart=false;
                        mediaPlayer=new MediaPlayer();
                    }
                }
            });
            btnPause.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    if(mediaPlayer.isPlaying()){
                        mediaPlayer.pause();
    //                    Toast.makeText(GameActivity.this, "hhhhhhhhhhhh", Toast.LENGTH_LONG);
                        btnPause.setText("继续");
                    }else{
                        mediaPlayer.start();
                        btnPause.setText("暂停");
                    }
                
                    
                }
            });
            btnStart.setOnClickListener(new OnClickListener() {
        
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    if(!mediaPlayer.isPlaying()||ifstart==false){
                        mediaPlayer=MediaPlayer.create(GameActivity.this, R.raw.nan);
                        mediaPlayer.start();
                        ifstart=true;
                    }
                }
            });
            btnexit.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    finish();
                }
            });
        }
        @Override
        protected void onDestroy() {
            // TODO Auto-generated method stub
            mediaPlayer.stop();
            super.onDestroy();
        }
        public boolean onCreateOptionsMenu(Menu menu) {
            // TODO Auto-generated method stub
            MenuInflater inflater = new MenuInflater(this);
            inflater.inflate(R.menu.main, menu);
            return super.onCreateOptionsMenu(menu);
        }
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // TODO Auto-generated method stub
            switch (item.getItemId()) {
            case android.R.id.home:
    //            //创建启动MainActivity的Intent
    //            Intent intent=new Intent();
    //            //添加额外的Flag,将Activity栈中处于MainActivity之上的Activity弹出
    //            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    //            intent.setClass(GameActivity.this,MainActivity.class);
    //            startActivity(intent);
                this.finish();
                break;
            case R.id.item2:
                Intent intent1=new Intent(this,Help.class);
                startActivity(intent1);
                this.finish();
                break;
            case R.id.item3:
                Intent intent2=new Intent(this,AboutActivity.class);
                startActivity(intent2);
                this.finish();
                break;
            case R.id.item1:
                Intent intent3=new Intent(this,GameActivity.class);
                startActivity(intent3);
                this.finish();
                break;
            default:
                break;
            }
            return super.onOptionsItemSelected(item);
        }
    }

     

    运行结果:(截图)

    运行初始界面:                                                                            

      

    播放视频:

     

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

    实验评语

     

    实验成绩

     

    指导教师签名:              年   月   日

               
  • 相关阅读:
    正则表达式
    [创业指南]给海归技术创业兄弟的九个忠告
    about avast
    设计模式Hibernate
    job desc
    把INT转换成2进制等
    微服务调用跟踪
    Redis 分布式锁实现
    jquery中的$.ajax()方法
    订单从ftp写入到b2b
  • 原文地址:https://www.cnblogs.com/baoan/p/5420007.html
Copyright © 2011-2022 走看看