安卓音乐播放器和视频播放器实现

本文介绍了基于Android系统的音乐和视频播放器的实现,旨在熟悉SurfaceView、MediaPlayer和数据存储。通过实验,开发者将了解如何设计和编码实现音乐播放器和视频播放器,包括界面布局和多媒体控制功能。
摘要由CSDN通过智能技术生成

1.1实验名称
音乐播放器和视频播放器实验。
1.2实验背景
1.2.1需求分析
随着社会的快速发展,现今社会生活紧张,而欣赏音乐和视频是较好的舒缓压力的方式,音乐和视频成了我们生活工作中重要的组成部分。而移动时代的到来,智能手机应用越来越普遍。移动音乐视频服务正是为这一形势而发展起来,开发这种手机音乐播放器和视频播放器的应用,主要为了满足音乐视频爱好人群的需要,于是提出和实现了基于Android系统多媒体播放器的主要功能。

1.3实验目的
(1)了解并熟悉SurfaceView;
(2)了解并掌握MediaPlayer;
(3)熟悉sd卡数据存储;
(4)熟悉LinearLayout或RelativeLayout的使用;
了解Android下的编程,完成一个媒体播放器小项目的开发。

1.4实验过程
1.4.1设计
1.4.1.1音乐播放器架构设计
利用AbsoluteLayout添加按钮,分别控制播放开始、暂停、停止。
1.4.1.2视频播放器架构设计
SurfaceView提供直接访问一个可画图的界面,可以控制在界面顶部的子视图层。SurfaceView是提供给需要直接画像素而不是使用窗体部件的应用使用的。Android图形系统中一个重要的概念和线索是surface。View及其子类(如TextView, Button)要画在surface上。每个surface创建一个Canvas对象(但属性时常改变),用来管理view在surface上的绘图操作,如画点画线。
SurfaceHolder接口持有Surface引用,并且定义了方法控制Surface的尺寸和格式。在SurfaceHolder中定义了4种Surface类型,分别是NORMAL、HARDWARE、GPU和PUSH_BUFFERS。在视频播放与相机预览中,通常是使用PUSH_BUFFERS,也就是说,Surface本身并没有维护一个缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前。
可以通过holder = mPreview.getHolder();获得这个对象。
SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS是为了surface 指定PUSH类型的缓冲区。
1.4.2音乐播放器编码实现
1.4.2.1新建工程
建立Android project,命名为MusicPlayer。

1.4.2.2.1 AndroidManifest.xml布局设计及实现

其中部分核心代码如下所示:
音乐播放器代码:

package com.example.musicplayer;

import java.io.IOException;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;

public class MainActivity extends Activity {
   

    ImageButton mStartImageButton = null;
    ImageButton mPauseImageButton = null;
    ImageButton mStopImageButton = null;
    MediaPlayer mMediaPlayer = null;
    TextView mTextView = null;
    private boolean bIsPlaying = false;
    private boolean bIsReleased = false;
    private boolean bIsPause = false;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mStopImageButton = (ImageButton) findViewById(R.id.StopImageButton);
        mStartImageButton = (ImageButton) findViewById(R.id.StartImageButton); 
        mPauseImageButton = (ImageButton) findViewById(R.id.PauseImageButton);
        mTextView = (TextView) findViewById(R.id.textView1);
        //mMediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.la_isla_bonita);

        mStartImageButton.setOnClickListener(new ImageButton.OnClickListener() 
        {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                try
                {

                    if ( !bIsPlaying )
                    {
                        bIsPlaying = true;
                        /* 装载资源中的音乐 *
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值